• xadmin后台管理框架django配置


    环境介绍

    • python3 +django2.1.8
    • windows环境
    打造管理系统从未如此简单
    使用 X-admin 您只需定义您数据的字段等信息,即可即刻获得一个功能全面的管理系统。不仅如此,您还可以方便的扩展更多的定制功能和系统界面。

    三大特点

    • 基于Bootstrap3

      Xadmin使用Bootstrap3.0框架精心打造。基于Bootstrap3,Xadmin天生就支持在多种屏幕上无缝浏览,并完全支持Bootstrap主题模板,让您的管理后台也动感、多样起来。

    • 内置功能丰富

      Xadmin作为一款全面的后台管理系统框架,不仅提供了基本的CRUD功能,还内置了丰富的插件功能。包括数据导出、书签、图表、数据添加向导及图片相册等多种扩展功能。

    • 真心强大的插件系统

      Xadmin的插件系统借鉴了其他领域成功框架的设计思想,让插件可以扩展系统的任何一个功能点。对于开发者,Xadmin的插件开发简单;对于使用者,Xadmin的插件安装方便。

    X-admin 下载

    切换到虚拟环境进行安装

    • 安装命令:pip install 本地路径+文件名

    • 将安装成功后的xadmin以及crispy_forms包添加到应用中

      INSTALLED_APPS = [
          'django.contrib.admin',
          'django.contrib.auth',
          'django.contrib.contenttypes',
          'django.contrib.sessions',
          'django.contrib.messages',
          'django.contrib.staticfiles',
          'xadmin',
          'crispy_forms',
      ]
      
    • 更改主目录urls中的后台管理配置

    • 将xadmin进行迁移生成表
    • 创建超级管理员账户生成后台账户并登录

    • 为了方便对xadmin源码进行修改操作,所以可以直接将下载好的xadmin-master.zip包进行解压后,在解压的文件中找xadmin文件拷贝到项目根目录下的extra_apps包下(需要创建extra_apps包),该操作为源码安装


    操作完成后如图:

    • 测试源码安装的xadmin是否成功,能否进入xadmin管理后台,在根级urls导入extra_apps包下的xadmin模块

      from django.urls import path,include
      from extra_apps import xadmin
      urlpatterns = [
       path('xadmin/', xadmin.site.urls),
      ]
      #可以进入表示成功
      

    • 修改settings配置文件中注册的app中的xadmin为extra_apps.xadmin

    • 刷新页面,xadmin后台管理页面显示不变,说明源码安装成功

    使用xadmin注册方式注册模型表同时注册主题和文字的修改

    注册示例:

    #某app下的某models类如下
    class LessonInfo(models.Model):
        name = models.CharField(max_length=50, verbose_name='章节名称')
        courseinfo = models.ForeignKey(CourseInfo,verbose_name='所属课程',on_delete=models.CASCADE)
        add_time = models.DateTimeField(default=datetime.now, verbose_name='添加时间')
    
        def __str__(self):
            return self.name
    
        class Meta:
            verbose_name = '章节信息'
            verbose_name_plural = verbose_name
    
    #在app下的models同级创建adminx.py文件
    
    
    import xadmin
    from .models import *
    from xadmin import views
    
    class LessonInfoXadmin(object):
        #list_display添加后台可显示字段
        #search_fields、list_filter添加搜索框和过滤器
        list_display = ['name', 'courseinfo', 'add_time']
        search_fields = ['name']
        list_filter = ['name']
        
        
        
    class BaseXadminSetting(object):
        '''配置xadmin主题,注册的时候要用到专用的view去注册'''
        enable_themes = True
        use_bootswatch = True
    
    class CommXadminSetting(object):
        '''#注册全局样式的类'''
        site_title = '即速教育后台管理系统'
        site_footer = '即速教育'
        menu_style = 'accordion'
        
        
    xadmin.site.register(LessonInfo,LessonInfoXadmin)    
    #注册主题类
    xadmin.site.register(views.BaseAdminView,BaseXadminSetting)
    #注册全局样式的类
    xadmin.site.register(views.CommAdminView,CommXadminSetting)
    
    #备注:
     1.多个app需要注册的时候 可以将app放置在apps文件夹中,并且在settings.py中注册app时格式如下
        INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'users.apps.UsersConfig',
        'courses.apps.CoursesConfig',
        'orgs.apps.OrgsConfig',
        'operations.apps.OperationsConfig',
        'extra_apps.xadmin',
        'crispy_forms',
    ]
    2.将apps文件夹标记为根文件夹
    apps-->MARK Directory as -->Resouce ROOT
    3.将每个app下的apps.py文件中的name修改为app名
    例子如下:
    
    class CoursesConfig(AppConfig):
        #name = 'apps/courses' 修改
        name = 'courses'
        verbose_name = '课程模块'
    4.修改文字和时区
    LANGUAGE_CODE = 'zh-hans'
    
    TIME_ZONE = 'Asia/Shanghai'
    
    

    修改xadmin源码中的后台图标

    • 下载图标库网站:http://www.fontawesome.com.cn/

    • 下载解压将fonts、css文件夹覆盖"extra_apps/xadmin/static/xadmin/vendor/font-awesome"下的同名文件夹

    • 将adminx中的类中添加如下字段

      class LessonInfoXadmin(object):
          list_display = ['name','add_time']
          model_icon = 'fa fa-bath'
      

    解释:

    model_icon后面跟一个图标类,在图标库网站中选择图标库

    选择自己心仪的图标进入详情页

    修改model_icon即可
  • 相关阅读:
    HTTP协议
    浏览器兼容性问题
    面试笔试重点总结:操作系统、计算机网络、设计模式
    笔试、面试重点总结:算法基础、数据结构
    笔试、面试重点总结:WIN32、MFC与Linux
    《Java程序员面试笔试宝典》终于在万众期待中出版啦~
    《Java程序员面试笔试宝典》之Static关键字有哪些作用
    《Java程序员面试笔试宝典》之字符串创建与存储的机制是什么
    《Java程序员面试笔试宝典》之为什么需要public static void main(String[] args)这个方法
    《Java程序员面试笔试宝典》之Java变量命名有哪些规则
  • 原文地址:https://www.cnblogs.com/pythonyeyu/p/11645648.html
Copyright © 2020-2023  润新知