「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' ...
随机推荐
- python for循环 - python基础入门(11)
在python开发中,除了前篇文章介绍的while循环还有一个for循环也经常使用,两者使用都是大同小异,for循环的使用相对于while循环更加灵活,下面我们一起来了解下具体区别. 一.for 循环 ...
- Win10下 jdk的安装
jdk 的下载地址 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 在 D 盘 ...
- 乐字节Java循环:循环控制和嵌套循环
乐字节小乐上次讲完了Java反射,接下来小乐给大家讲述Java循环. 循环有以下四部分: 一.循环控制 1. do..while 直到型 ( 先执行后判断) ,结构为: 先执行循环体,后判断布尔表达式 ...
- Office常用快捷键大全,包含 Word、Excel、PowerPoint
功能 快捷键 查找文字.格式和特殊项 Ctrl+G 使字符变为粗体 Ctrl+B 为字符添加下划线 Ctrl+U 删除段落格式 Ctrl+Q 复制所选文本或对象 Ctrl+C 剪切所选文本或对象 Ct ...
- 猴子补丁(Monkey Patching)
猴子补丁是我在面试的时候接触的一到题,学python的时候,我根本就没有听说这个概念!那接下来我们来分析一下: 1.什么是猴子补丁? 2.猴子补丁的功能? 3.猴子补丁的应用场景? 一.什么是猴子补丁 ...
- 初始STM32固件库
1-汇编编写的启动文件 startup_stm32f10x_hd.s:设置堆栈指针.设置PC指针.初始化中断向量表.配置系统时钟.对用C库函数_main,最终去到C的世界 2-时钟配置文件 syste ...
- [yarn]yarn和npm的对比
一.简介 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服 ...
- 使用jdk8 stream简化集合操作
使用stream的前提是对lambda表达式和函数式接口有一定的了解,同时对方法引用和普通传参的区别有一定的认识. stream的三大特性:1.不存储数据2.不改变源数据3.延时执行. stream优 ...
- (三)SpringBoot之配置文件详解:Properties和YAML
一.配置文件的生效顺序,会对值进行覆盖: 1. @TestPropertySource 注解 2. 命令行参数 3. Java系统属性(System.getProperties()) 4. 操作系统环 ...
- 多态——virtual
作用:解决当使用基类的指针指向派生类的对象并调用派生类中与基类同名的成员函数时会出错(只能访问到基类中的同名的成员函数)的问题,从而实现运行过程的多态 不加virtual #include<io ...