第一:命令安装xadmin2

  1. pip install xadmin2

第二:setting.py中设置 INSTALLED_APPS

  1. INSTALLED_APPS = (
  2. ...
  3. 'xadmin',
  4. 'crispy_forms',
  5. 'reversion',
  6. ...
  7. )

第三:urls.py中设置

  1. import xadmin
  2. xadmin.autodiscover()
  3. from xadmin.plugins import xversion
  4. xversion.register_models()
  5. urlpatterns = [
  6. path('xadmin/',xadmin.site.urls),
  7. ]

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

  1. python manage.py makemigrations
  2. python manage.py migrate

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

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

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

注:

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

对应model

  1. class relayControl(models.Model):
  2. time = models.DateTimeField(auto_now=True,verbose_name='操作时间')
  3. oneCH = models.BooleanField(verbose_name='一号继电器',null=True,blank=True)
  4. twoCH = models.BooleanField(verbose_name='二号继电器',null=True,blank=True)
  5.  
  6. class Meta:
  7. verbose_name = '继电器控制'
  8. verbose_name_plural = verbose_name
  9.  
  10. def __str__(self):
  11. return self.time

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

  1. import xadmin
  2. from .models import *
  3. from xadmin import views
  4.  
  5. #xadmin后台头尾定制
  6. class GlobalSetting(object):
  7. site_title = "****项目后台管理系统"
  8. site_footer = "http://www.runge.net/"
  9. #左侧的列表紧缩间隔设置
  10. menu_style = "accordion"
  11.  
  12. xadmin.site.register(views.CommAdminView, GlobalSetting)
  13.  
  14. #xadmin后台主题设置
  15. class BaseSetting(object):
  16. enable_themes = True
  17. use_bootswatch = True
  18.  
  19. xadmin.site.register(views.BaseAdminView, BaseSetting)

第六:App后台显示中文名

1、settings设置

  1. INSTALLED_APPS = [
  2. ...
  3. 'users.apps.AppConfig',
  4. 'workers.apps.WorkersConfig',
  5. 'item.apps.ItemConfig',
  6. 'www.apps.WwwConfig',
  7. 'control.apps.ControlConfig',
  8. 'xadmin',
  9. 'crispy_forms',
  10. 'reversion'
  11. ]

2.各App中apps.py设置

  1. from django.apps import AppConfig
  2.  
  3. class ControlConfig(AppConfig):
  4. name = 'control'
  5. 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. 【转载】49个CSS知识点

    01.[负边距]

  2. 如何使用Curator监听zookeeper事件变化

    掌握zookeeper事件监听机制,非常重要,可以说是跨入了进阶的门槛,只有掌握了如何监听某个节点或路径,我们才能在节点变化后,做一些我们想做的事,包括: 1,配置文件同步 2,主从切换 3,分布式队 ...

  3. 《Redis - 穿透/击穿/雪崩/集中失效》

    一:什么是缓存穿透? - 定义 - 正常情况下,我们在理想的条件下去查询缓存数据都是存在的. - 那么请求去查询一条数据库中不存在的数据,也就是缓存和数据库都查询不到这条数据. - 所以请求每次都会打 ...

  4. vue 中使用rem布局

    在使用vue-cli搭建好项目框架后,在目录结构的index.html文件中添加一段js代码: fnResize(); window.onresize = function () { fnResize ...

  5. XML和JSON序列化以及反序列化

    1.将文件保存序列化至文档中,然后再读取: //首先创建可序列化的实体类 [Serializable] public class Message { public string Name { get; ...

  6. WeChat App Word

    chats:聊天:n werun:微信运动 contacts:联系人:n official accounts:官方账号(公众号) discover:发现:vi moments:片刻(朋友圈动态):n ...

  7. 多态——virtual

    作用:解决当使用基类的指针指向派生类的对象并调用派生类中与基类同名的成员函数时会出错(只能访问到基类中的同名的成员函数)的问题,从而实现运行过程的多态 不加virtual #include<io ...

  8. VBA Excel宏(二)

    在本章中,我们来学习如何逐步编写一个简单的宏. 第1步 - 首先,在Excel 2016中启用“开发者”菜单.要完成这个设置,请点击左上角菜单:文件 -> 选项.如下图所示 - 第2步 - 点击 ...

  9. 移动端自适应之flexible

    移动端自适应之flexible 作用:flexible的作用是使页面可以适配不同移动终端 原理:在页面html标签上添加style = "font-size: 36px;"样式,设 ...

  10. Linux的关机和重启命令

    Linux有如下的关机和重启命令:shutdown, reboot, halt, poweroff,那么它们有什么区别呢? shutdown - 建议使用的命令 shutdown是最常用也是最安全的关 ...