第一:命令安装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. Java线程池的使用方式,核心运行原理、以及注意事项

    为什么需要线程池 java中为了提高并发度,可以使用多线程共同执行,但是如果有大量线程短时间之内被创建和销毁,会占用大量的系统时间,影响系统效率. 为了解决上面的问题,java中引入了线程池,可以使创 ...

  2. WebSocket 中的Netty

    测试Channelhandler   EmbeddedChannel提供了下面一些方法: writeInbound(Object...),写一个消息到入站通道 writeOutbound(Object ...

  3. prometheus+grafana监控nginx

    被监控机器环境搭建&配置 nginx-module-vts下载: https://github.com/vozlt/nginx-module-vts nginx-module-vts安装 un ...

  4. Swarm系列7--存储介绍

    存储介绍 1. 存储使用 与docker一样,在使用swarm服务级别的时候可以定义服务的存储需求, docker存储介绍参考: Docker之应用数据管理(volume/bind mount/tmp ...

  5. Luogu5284 十二省联考2019字符串问题(后缀树+拓扑排序)

    对反串建SAM弄出后缀树,每个b串通过倍增定位其在后缀树上对应的节点,根据其长度将节点拆开.然后每个a串也找到对应的节点,由该节点向表示a串的节点连边,再把所给的边连上跑拓扑排序即可. #includ ...

  6. MySQL 解决source 命令导入数据库 乱码

    在我把库.表.sql脚本的编码格式都设置为UTF-8后,任然有乱码,任然有报错: 于是按以下方式重新登录后,解决: mysql -u root -p --default-character-set=u ...

  7. array_chunk — 将一个数组分割成多个

    说明 array_chunk ( array $array , int $size [, bool $preserve_keys = false ] ) : array 将一个数组分割成多个数组,其中 ...

  8. MySQL 5.7 多源复制实践

    多源复制使用场景 数据分析部门会需要各个业务部门的部分数据做数据分析,这个时候就可以用到多源复制把各个主数据库的数据复制到统一的数据库中. 在从服务器进行数据汇总,如果我们的主服务器进行了分库分表的操 ...

  9. Linux Mysql 备份与还原

    1. 备份 cd /var/lib/mysql //进入到MySQL库目录 mysqldump -u root -p 数据库>/root/backup/数据库.sql 然后输入密码 2. 还原 ...

  10. Nginx与负载均衡

    Nginx,首先是一款轻量级的Web服务器,其特点是占有内存少,并发能力强,大厂用户有:百度.新浪.网易.腾讯等.其次,它是一款反向代理服务器:第三,它还是一款电子邮件(IMAP/POP3)代理服务器 ...