首页 > 代码库 > Django打造在线教育平台_day_3: 搭建后台管理系统Xadmin

Django打造在线教育平台_day_3: 搭建后台管理系统Xadmin

xadmin是比Django自带的admin更加强大的系统

1、安装xadmin的两种方式:

  方式一:pip install xadmin

  方式二:github下载最新的源码(推荐,因为功能最新)

2、方式一安装:虚拟环境下

pip install xadmin

python3的环境安装xadmin时,直接pip install xadmin出现

技术分享

README.rst这个文件的编码有问题,可以内容没什么重要的,可以直接到github上下载安装包,然后新建一个txt空文件,把文件名改成README.rst,替换原来的文件 

https://github.com/sshwsfc/xadmin,替换成功后,把压缩包放到一个文件夹中,在命令窗口中进入存放压缩包的文件下,执行pip命令 。

在settings.py和urls.py中配置

#settings.py
INSTALLED_APPS = [
    django.contrib.admin,
    django.contrib.auth,
    django.contrib.contenttypes,
    django.contrib.sessions,
    django.contrib.messages,
    django.contrib.staticfiles,
    users,  # 注册App
    operation,
    courses,
    organization,
    # 添加以下两个app配置
    xadmin,
    crispy_forms,
]

---------------------------------
#urls.py
from django.conf.urls import url
from django.contrib import admin
import xadmin

urlpatterns = [
    # url(r‘^admin/‘, admin.site.urls),
    url(r^xadmin/, xadmin.site.urls),
]

删除users/admin.py中的代码,再重新改新数据表(完成后数据库会有xadmin开头的表)

 Tools 工具栏运行 run manage.py Task

  输入:makemigrations

  输入:migrate

  重起系统:

技术分享

2、方式二安装:https://github.com/sshwsfc/xadmin下载源码,解压把xadmin文件复制到项目的根中新建的extra_apps文件中

技术分享

技术分享

在setting.py中设置一下路径:sys.path.insert(0, os.path.join(BASE_DIR, ‘extra_apps‘))

完成EmailVerifyRecord在xadmin的注册:在apps\users中创建一个adminx.py文件 

import xadmin
from .models import EmailVerifyRecord
class EmailVerifyRecordAdmin(object):

  list_display=[‘code‘,‘email‘,‘send_type‘,‘send_time‘] #显示栏
  search_fields=list_display=[‘code‘,‘email‘,‘send_type‘] #搜索
  list_filter = [‘code‘,‘email‘,‘send_type‘,‘send_time‘] #筛选
 xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)

技术分享

list_display=[‘code‘,‘email‘,‘send_type‘,‘send_time‘]作用是

技术分享

 

 search_fields=list_display=[‘code‘,‘email‘,‘send_type‘]作用是

 技术分享

 

list_filter = [‘code‘,‘email‘,‘send_type‘,‘send_time‘] 筛选作用

技术分享

 在users/models.py中重载EmailVerifyRecord类型的__unicode__方法

    def __unicode__(self):
        return {0}({1}).format(self.code, self.email)

 

Django打造在线教育平台_day_3: 搭建后台管理系统Xadmin