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

Posted 起航追梦人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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命令 。

3、在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),
]

4、删除users/admin.py中的代码,Tools 工具栏运行 run manage.py Task再更新数据表,输入:(完成后数据库会有xadmin开头的表)

makemigrations
migrate

5、重起系统:

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

1、在setting.py中设置一下路径:

sys.path.insert(0, os.path.join(BASE_DIR, \'extra_apps\'))

2、把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\'] 筛选作用

 3、在users/models.py中重载EmailVerifyRecord类型的__str__方法

    def __str__(self):
        return \'{0}({1})\'.format(self.code, self.email)

 同理注册Banner

class BannerAdmin(object):
    list_display = [\'title\', \'image\', \'url\', \'index\',\'add_time\']  # 列表显示
    search_fields = [\'title\', \'image\', \'url\', \'index\']  # 搜索
    list_filter = [\'title\', \'image\', \'url\', \'index\',\'add_time\']  # 筛选
xadmin.site.register(Banner, BannerAdmin)

 

以上是关于Django打造在线教育平台_day_3: 搭建后台管理系统Xadmin的主要内容,如果未能解决你的问题,请参考以下文章

Django打造在线教育平台_day_3: 搭建后台管理系统Xadmin之其他app的数据表注册

Django打造在线教育平台_day_3:全局配置

Django打造在线教育平台_day_3:之处理外建搜索无效

Django打造在线教育平台_day_4: 完成注册功能

Django打造在线教育平台_day_4: 前台逻辑的编写之配置首页与登录

Django打造在线教育平台_day_4: 完成用户登录功能