• 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后台管理系统: 

    # 在appsusers中创建一个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)
  • 相关阅读:
    韦到头打印链表
    字符串替换
    二维数组中的查找
    字符串加解密
    简单密码破解
    vue中store模块化
    使用requests抓取网页内容
    PyQt中的一些小问题
    微信公众号之Token验证
    编译BOOST中的PYTHON模块
  • 原文地址:https://www.cnblogs.com/jp-mao/p/7072167.html
Copyright © 2020-2023  润新知