第一:命令安装xadmin2

pip install xadmin2

第二:setting.py中设置 INSTALLED_APPS

INSTALLED_APPS = (
...
'xadmin',
'crispy_forms',
'reversion',
...
)

第三:urls.py中设置

import xadmin
xadmin.autodiscover()
from xadmin.plugins import xversion
xversion.register_models()
urlpatterns = [
path('xadmin/',xadmin.site.urls),
]

第四:数据库同步,命令行下输入
#数据库同步命令

python manage.py makemigrations
python manage.py migrate

第五:将django模块注册到xadmin后台

1.将app注册到xadmin 
app中新建adminx.py文件

import xadmin
from .models import * class relayControlXadmin(object):
#后台显示选择
list_display = ['time', 'oneCH', 'twoCH']
#搜索选择 关联其他表的字段不要加入搜索列表,否则搜索时候会出错
search_fields = ['time', 'oneCH', 'twoCH']
#过滤器选择
list_filter = ['time', 'oneCH', 'twoCH']
#设置后台图标
model_icon = 'fa fa-user' xadmin.site.register(relayControl,relayControlXadmin)

注:

引入自定义的ico 案例
官网下载:http://www.fontawesome.com.cn/ 下载后覆盖xadmin\static\xadmin下的css、fonts目录

对应model

class relayControl(models.Model):
time = models.DateTimeField(auto_now=True,verbose_name='操作时间')
oneCH = models.BooleanField(verbose_name='一号继电器',null=True,blank=True)
twoCH = models.BooleanField(verbose_name='二号继电器',null=True,blank=True) class Meta:
verbose_name = '继电器控制'
verbose_name_plural = verbose_name def __str__(self):
return self.time

2、设置admix主题和定制头尾部并设置左侧列表收起

import xadmin
from .models import *
from xadmin import views #xadmin后台头尾定制
class GlobalSetting(object):
site_title = "****项目后台管理系统"
site_footer = "http://www.runge.net/"
#左侧的列表紧缩间隔设置
menu_style = "accordion" xadmin.site.register(views.CommAdminView, GlobalSetting) #xadmin后台主题设置
class BaseSetting(object):
enable_themes = True
use_bootswatch = True xadmin.site.register(views.BaseAdminView, BaseSetting)

第六:App后台显示中文名

1、settings设置

INSTALLED_APPS = [
...
'users.apps.AppConfig',
'workers.apps.WorkersConfig',
'item.apps.ItemConfig',
'www.apps.WwwConfig',
'control.apps.ControlConfig',
'xadmin',
'crispy_forms',
'reversion'
]

2.各App中apps.py设置

from django.apps import AppConfig

class ControlConfig(AppConfig):
name = 'control'
verbose_name = '操作模块'

「Django」Xadmin应用的更多相关文章

  1. 「Django」contenttypes基本用法

    当一张表和多个表ForeignKey关联,并且多个FK中只能选择其中一个或其中n个时,可以利用contenttypes,只需定义三个字段就搞定! contenttypes 是Django内置的一个应用 ...

  2. 「Django」rest_framework学习系列-API访问跨域问题

    #以中间件方式解决API数据访问跨域问题1.API下新建文件夹下写PY文件a.引入内置类继承: from django.middleware.common import MiddlewareMixin ...

  3. 「Django」rest_framework学习系列-序列化

    序列化方式一 :在业务类里序列化数据库数据 class RolesView(APIView): def get(self,request,*args,**kwargs): roles = models ...

  4. 「Django」数据库访问优化

    先做性能分析 - 两个工具 django.db.connection from django.db import connection# contextprint connection.queries ...

  5. 「Django」学习之路,持续更改

    一.setting设置 1.设置 局域网可以部署连接 ALLOWED_HOSTS = ['*.besttome.com','192.168.1.100'] 2.static配置 STATIC_URL ...

  6. 「Django」与mysql8连接的若干问题

    1.setting配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #数据库驱动名 'NAME': 'my_tes ...

  7. 「Django」Django内置email发送邮件

    Django内置email发送邮件 1.首先在settings.py文件设置相关参数 STATIC_URL = '/static/' # 设置邮件域名 EMAIL_HOST = 'smtp.163.c ...

  8. 「Django」浏览+1的操作

    适应于网页.文章等浏览次数统计 1.Models设置:添加viewed方法 class NewsTitle(models.Model): title = models.CharField(max_le ...

  9. 「Django」rest_framework学习系列-路由

    自动生成4个url路由:from rest_framework import routersrouter = routers.DefaultRouter()router.register(r'wrx' ...

随机推荐

  1. php控制访问人数的方法

    php控制访问人数的方法 <pre>//添加访问人数 public function addfangwen() { header("Content-type:text/html; ...

  2. php去掉字符串中的最后一个字符和汉字

    ###php去掉字符串中的最后一个字符和汉字 1.php去掉字符串中的最后一个字符: //方法一: $newstr = substr($str,0,strlen($str)-1); //方法二: $n ...

  3. ORACLE的客户端、后台进程

    Oracle数据库进程之服务器进程详解 Oracle实例主要有三类进程:服务器进程.后台进程和从属进程.这里介绍一下Oracle数据库服务器进程的相关知识 Oracle数据库中的各个进程要完成某个特定 ...

  4. PAT(B) 1012 数字分类(Java)

    题目链接:1012 数字分类 代码 /** * Score 20 * Run Time 142ms * @author wowpH * @version 1.1 */ import java.util ...

  5. pandas数据结构之Panel笔记

    Panel创建的是三维的表 items:坐标轴0,索引对应的元素是一个DataFrame major_axis:坐标轴1,DataFrame里的行标签 minor_axis:坐标轴2,DataFram ...

  6. ASP.NET Core启动流程

    1. 引言 对于ASP.NET Core应用程序来说,我们要记住非常重要的一点是:其本质上是一个独立的控制台应用,它并不是必需在IIS内部托管且并不需要IIS来启动运行(而这正是ASP.NET Cor ...

  7. IDEA中通过Maven插件使用MyBatis Generator

    这样做更简单,参考: IDEA集成MyBatis Generator 插件 详解

  8. 怎样给回调函数绑定this

    在三种绑定this的方法中, Function.prototype.call() 和 Function.prototye.apply() 都是会立即执行该函数的, 但回调函数是不能立即执行的, 它只是 ...

  9. vue 数组对象取对象的属性: Cannot read property 'xxxx' of undefined

    {{ list[0].name }} list[0]没有定义 能正确打印出想要的结果,但就是报错,外面套个v-for就没错了 很费解 看到文章说是与异步有关,解决办法: <template v- ...

  10. C#基础--go to

    goto语句的用法非常灵活,你可以用它实现很多功能,但是由于goto语句的跳转影响程序的结构,在使用的时候会使人迷茫,所以一般"教材"上都不建议使用,但是用它可以实现递归,循环,选 ...