环境介绍
- python3 +django2.1.8
- windows环境
打造管理系统从未如此简单
使用 X-admin 您只需定义您数据的字段等信息,即可即刻获得一个功能全面的管理系统。不仅如此,您还可以方便的扩展更多的定制功能和系统界面。
三大特点
基于Bootstrap3
Xadmin使用Bootstrap3.0框架精心打造。基于Bootstrap3,Xadmin天生就支持在多种屏幕上无缝浏览,并完全支持Bootstrap主题模板,让您的管理后台也动感、多样起来。
内置功能丰富
Xadmin作为一款全面的后台管理系统框架,不仅提供了基本的CRUD功能,还内置了丰富的插件功能。包括数据导出、书签、图表、数据添加向导及图片相册等多种扩展功能。
真心强大的插件系统
Xadmin的插件系统借鉴了其他领域成功框架的设计思想,让插件可以扩展系统的任何一个功能点。对于开发者,Xadmin的插件开发简单;对于使用者,Xadmin的插件安装方便。
X-admin 下载
- 进入git网站:https://github.com/sshwsfc/xadmin
- 选择django2 进行下载,不要下载主分支
切换到虚拟环境进行安装
安装命令: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): #ist_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'