环境介绍
- 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):
#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'