Django使用xadmin管理后台数据

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

这里写图片描述

七、效果图

这里写图片描述

这里写图片描述

猜你喜欢

转载自blog.csdn.net/lm_is_dc/article/details/80677622