「Django」Xadmin应用
第一:命令安装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应用的更多相关文章
- 「Django」contenttypes基本用法
当一张表和多个表ForeignKey关联,并且多个FK中只能选择其中一个或其中n个时,可以利用contenttypes,只需定义三个字段就搞定! contenttypes 是Django内置的一个应用 ...
- 「Django」rest_framework学习系列-API访问跨域问题
#以中间件方式解决API数据访问跨域问题1.API下新建文件夹下写PY文件a.引入内置类继承: from django.middleware.common import MiddlewareMixin ...
- 「Django」rest_framework学习系列-序列化
序列化方式一 :在业务类里序列化数据库数据 class RolesView(APIView): def get(self,request,*args,**kwargs): roles = models ...
- 「Django」数据库访问优化
先做性能分析 - 两个工具 django.db.connection from django.db import connection# contextprint connection.queries ...
- 「Django」学习之路,持续更改
一.setting设置 1.设置 局域网可以部署连接 ALLOWED_HOSTS = ['*.besttome.com','192.168.1.100'] 2.static配置 STATIC_URL ...
- 「Django」与mysql8连接的若干问题
1.setting配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #数据库驱动名 'NAME': 'my_tes ...
- 「Django」Django内置email发送邮件
Django内置email发送邮件 1.首先在settings.py文件设置相关参数 STATIC_URL = '/static/' # 设置邮件域名 EMAIL_HOST = 'smtp.163.c ...
- 「Django」浏览+1的操作
适应于网页.文章等浏览次数统计 1.Models设置:添加viewed方法 class NewsTitle(models.Model): title = models.CharField(max_le ...
- 「Django」rest_framework学习系列-路由
自动生成4个url路由:from rest_framework import routersrouter = routers.DefaultRouter()router.register(r'wrx' ...
随机推荐
- CSS内联--与块级元素区别
内联元素:1.内联元素(inline)不会独占一行,相邻的内联元素会排在同一行.其宽度随内容的变化而变化. 2.内联元素不可以设置宽高 3.内联元素可以设置margin,padding,但只在水平方向 ...
- 图解JS
弱语言 数据类型 隐式转换 弱等于 严格等于 包装对象 字符串转为包装对象 类型检测 表达式 运算符 块 try...catch 对象结构 创建对象,原型链 属性读写 getter,setter 序列 ...
- Linux中查找最耗CPU的Java代码问题
第一步: 查看消耗CPU最高的进程PID [lolaage@web2 tomcat-ns]$ top top - 13:23:32 up 42 days, 19:11, 3 users, load ...
- Python 【爬虫】
爬虫的工作原理 首先,爬虫可以模拟浏览器去向服务器发出请求: 其次,等服务器响应后,爬虫程序还可以代替浏览器帮我们解析数据: 接着,爬虫可以根据我们设定的规则批量提取相关数据,而不需要我们去手动提取: ...
- S03_CH12_基于UDP的QSPI Flash bin文件网络烧写
S03_CH12_基于UDP的QSPI Flash bin文件网络烧写 12.1概述 为了满足不同的需求,本例程在"基于TCP的QSPI Flash bin文件网络烧写"上进行修改 ...
- 工具——eclipse debug小技巧
1.开启调试: 在代码编辑处右键单击,在弹出菜单中点击Debug As开始调试 2.几个快捷键: F5:跟入Step into, 一般会跟踪进入到调用函数的函数体,Step Over则不会跟踪进入,直 ...
- phc-winner-argon2、argon2-cffi安装使用方法
Argon2 is a password-hashing function created by by Alex Biryukov, Daniel Dinu, and Dmitry Khovratov ...
- SQL语句中加中括号[ ]的作用
有些可能是SQL里面的保留字,但是你又用了它做字段名 比如Action,用[Action] 就可以避免这个问题,如果直接Action SQL就要报错了. 解决较长的中文名表名可能会被不识别的问题.
- (java实现)双向循环链表
什么是双向循环链表 在了解双向循环链表之前,如果对链表还没有一个清晰的概念,建议你看看单链表和单向循环链表,这有利于你更好的理解下面的内容.(废话有点多[逃] 相比单链表,双向循环链表是一个更加复杂的 ...
- (十七)Activitivi5之组任务分配
一.需求分析 我们在实际业务开发过程中,某一个审批任务节点可以分配一个角色(或者叫做组),然后属于这个角色的任何一个用户都可以去完成这个任务节点的审批 二.案例 2.1 方式一:直接流程图配置中写死 ...