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)

 

posted @ 2017-06-24 01:59  起航追梦人  阅读(2278)  评论(0编辑  收藏  举报