Django使用xadmin管理后台数据
作用:xadmin比Django内置的admin更美观、更方便。
一、导入xadmin(第三方库)
方法1、使用pip安装
pip install git+git://github.com/sshwsfc/xadmin.git
如果出现问题可参考https://blog.csdn.net/lm_is_dc/article/details/80558073解决
方法2、可直接到gitHub上找到xadmin的地址https://github.com/sshwsfc/xadmin 下载到项目根目录 ,然后pip:
pip3 install xadmin-master.zip
安装。
二、在settings.py里面配置
在注册应用处加上
'xadmin',
'crispy_forms',
三、在路由urls.py里面添加路由
import xadmin
urlpatterns = [
url('xadmin/', xadmin.site.urls),
]
四、数据迁移
makemigrations
migrate
五、建立adminx.py
1、创建adminx.py
2、导入xadmin和model中建立的表模型
from xadmin import views
import xadmin
from .models import User, Candidate
3、添加表管理类,继承于Object
# 基础设置
class BaseSetting(object):
enable_themes = True # 使用主题
use_bootswatch = True
# 全局设置
class GlobalSettings(object):
site_title = '个人网站管理系统' # 标题
site_footer = '个人网站' # 页尾
site_url = '/'
menu_style = 'accordion' # 设置左侧菜单 折叠样式
# 用户的后台管理
class UserAdmin(object):
# 检索字段
search_fields = ['uName','uIP',]
# 要显示的字段
list_display = ['id','uName','uIP' ,'uEmail' ,'uNickName' ,'uGender','uAge' ,'uIcon' ,'isDelete']
# 分组过滤的字段
list_filter = ['uName','uNickName','uGender','uAge','isDelete']
# ordering设置默认排序字段,负号表示降序排序
ordering = ('id',)
# list_per_page设置每页显示多少条记录,默认是100条
list_per_page = 50
# list_editable 设置默认可编辑字段
list_editable = ['uNickName', 'uIcon']
# 候选者的后台管理
class CandidateAdmin(object):
# 检索字段
search_fields = ['cName','cAge','cTimes','cVotes','cPinyin','isDelete',]
# 要显示的字段
list_display = ['id','cName','cAge','cEmail','cDeclaration','cIcon','cTimes','cVotes','cPinyin','isDelete','cVoteType',]
# 分组过滤的字段
list_filter = ['cName','cAge','cTimes','cVotes','cPinyin','isDelete',]
# ordering设置默认排序字段,负号表示降序排序
ordering = ('id',)
# fk_fields 设置显示外键字段
fk_fields = ('cVoteType',)
4、注册表管理类
xadmin.site.register(views.CommAdminView,GlobalSettings)
xadmin.site.register(views.BaseAdminView,BaseSetting)
xadmin.site.register(User,UserAdmin)
xadmin.site.register(Candidate,CandidateAdmin)
六、创建管理员
createsuperuser