关于django xadmin的学习改造(菜单名称,更改默认前缀数据库)
路径xadmin-master\demo_app\app\models.py
- class c(models.Model):
- ip_address = models.CharField(max_length=16)
- #host = models.ForeignKey(Host) 注意此行,添加的是外键查询
- name = models.CharField(max_length=16)
- testlist = models.CharField(max_length=16)
- def __unicode__(self):
- return '%s c [%s] %s %s' % (self.ip_address.name, self.id,
- self.testlist, self.name)
- class Meta:
- #app_label = u'waf日志' #更改数据表表名
- db_table = 'testc' #更改django默认前缀数据库命名规则,详情代码外
- verbose_name = u"Awaf Log" #app菜单名字,如果没有则为 name+s,加u是中文
- verbose_name_plural = verbose_name
关于models.py的相关
'''
db_table
django默认的数据库命名是加上创建appname_xxx
此功能可以突破,
比如说我的app名字是xadmin,数据库名字c,则默认的就是xadmin_c,数据库名字为xadmin.c,
使用 db_table = 'testc' 则xadmin.c数据库变为testc
操作完后创建在models中新建的规则的表(如果你是自己在mysql新建或者从其他地方导入mysql里的表,非app前缀的表,想使用这些表,继续往下看我的low思路,大牛留情)
python manage.py makemigrations
python manage.py migrate
会在字符命令行中发现 以创建 c 表,注意不是testc
之后在xadmin-master\demo_app\app\adminx.py
from models import IDC, Host, MaintainLog, HostGroup, AccessRecord, c #注意是c
- class MaintainLogAdmin1(object):
- list_display = (
- 'ip_address', 'name', 'testlist')
- list_display_links = ('ip_address',)
- list_filter = ['ip_address', 'name', 'testlist']
- search_fields = ['ip_address']
- form_layout = (
- Col("col2",
- Fieldset('ip_address',
- 'name', 'testlist',
- css_class='unsort short_label no_title'
- ),
- span=9, horizontal=True
- ),
- Col("col1",
- Fieldset('ip_address',
- 'name', 'testlist'
- ),
- span=3
- )
- )
- reversion_enable = True
- xadmin.sites.site.register(c,MaintainLogAdmin1) #看这里,注意导入的是c,也就是上文提到的,在命令行看见创建成功记录的表名
adminx.py 关于应用模板
不出意外,刷新页面成功了,有问题,咱讨论讨论,我是菜鸟,这里主要就是关于models.py里的模板类里的 class Meta:中db_table的使用,感兴趣的去千百度这个类
如果你的数据库表是从外部导入的非app前缀的,有几种思路,最low的就是替换法,return到最上面,创建一个和你从外部导入的表一样名字的表,然后在mysql图形界面客户端更改替换,注意在models里的规则要一直,复制粘贴的时候要注意是否有外键,罗嗦完毕
还有比较高级的思路,就是用数据库的触发器更新,当一个表更新的时候,自动同步到另一个表,知乎上有,么么哒
'''
关于修改xadmin 首页 标题 和 首页 页脚 标题 网上也有,还有修改xadmin菜单图标
在xadmin-master\demo_app\app\adminx.py
- class GlobalSetting(object):
- site_title = 'Awaf L0g System' #修改首页标题
- site_footer = 'Awaf_Team'#修改首页页脚标题
- #global_search_models = [Host, IDC]
- global_models_icon = {
- Host: 'fa fa-laptop', c: 'fa fa-cloud', #修改菜单图标 大概格式就是fa fa-xxx,这里我把idc的图标改成了c的图标
- }
- menu_style = 'default'#'accordion'
- xadmin.sites.site.register(views.CommAdminView, GlobalSetting)
----------更新
在用
python manage.py makemigrations
python manage.py migrate
更改数据库表名的时候,如果出现太乱的话,由于之前创建删除多个模块,导致太乱,
到xadmin-master\demo_app\app\migrations 删除多余再更新创建
关于django xadmin的学习改造(菜单名称,更改默认前缀数据库)的更多相关文章
- 第三百七十六节,Django+Xadmin打造上线标准的在线教育平台—创建用户操作app,在models.py文件生成5张表,用户咨询表、课程评论表、用户收藏表、用户消息表、用户学习表
第三百七十六节,Django+Xadmin打造上线标准的在线教育平台—创建用户操作app,在models.py文件生成5张表,用户咨询表.课程评论表.用户收藏表.用户消息表.用户学习表 创建名称为ap ...
- Django+xadmin打造在线教育平台(二)
三.xadmin后台管理 3.1.xadmin的安装 django2.0的安装(源码安装方式): https://github.com/sshwsfc/xadmin/tree/django2 把zip ...
- django+xadmin在线教育平台(十)
剩余app model注册 courses注册 新建courses/adminx.py: # encoding: utf-8 __author__ = 'mtianyan' __date__ = '2 ...
- Django+xadmin打造在线教育平台(一)
目录 在线教育平台(一) 在线教育平台(二) 在线教育平台(三) 在线教育平台(四) 在线教育平台(五) 在线教育平台(六) 在线教育平台(七) 在线教育平台( ...
- 第三百九十五节,Django+Xadmin打造上线标准的在线教育平台—Xadmin集成富文本框
第三百九十五节,Django+Xadmin打造上线标准的在线教育平台—Xadmin集成富文本框 首先安装DjangoUeditor3模块 Ueditor HTML编辑器是百度开源的HTML编辑器 下载 ...
- 第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置2,以及目录结构说明
第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置2,以及目录结构说明 设置后台列表页面可以直接修改字段内容 在当前APP里的adminx.py文件里的 ...
- 第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理
第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理 将一个app下的models数据库表注册到xadmin后台管理 重点 ...
- 第三百七十四节,Django+Xadmin打造上线标准的在线教育平台—创建课程app,在models.py文件生成4张表,课程表、课程章节表、课程视频表、课程资源表
第三百七十四节,Django+Xadmin打造上线标准的在线教育平台—创建课程app,在models.py文件生成4张表,课程表.课程章节表.课程视频表.课程资源表 创建名称为app_courses的 ...
- Python升级3.6 强力Django+Xadmin打造在线教育平台
第 1 章 课程介绍 1-1 项目演示和课程介绍: 第 2 章 Windows下搭建开发环境 2-1 Pycharm.Navicat和Python解释器的安装: Pycharmhttp://www.j ...
随机推荐
- C# dll加载,抽象方法的使用
抽象类! dll的使用 /// <summary> /// 返回类型--插件 /// </summary> /// <param name="baseName& ...
- c++中变量声明和变量定义的区别。2016年12月6日
整个流程: 1.程序告诉cpu,程序将要使用一个变量.(暂时不一定用到,先说一下.) 2.程序告诉CPU,程序现在就要使用一个变量.(现在就用) 3.cpu按照这个变量的类型,把内存划分出几个单位(b ...
- 更新centos curl
centos curl 默认使用nss,而不是openssl 升级curl让curl支持openssl rpm -Uvh http://www.city-fan.org/ftp/contrib/yum ...
- c++ redis-client
http://hahaya.github.io/operator-redis-under-linux/#0-tsina-1-10809-397232819ff9a47a7b7e80a40613cfe1 ...
- Java泛型学习笔记 - (一)泛型的介绍
一.什么是泛型:泛型的作用是用来规定一个类, 接口或方法所能接受的数据的类型. 就像在声明方法时指定参数一样, 我们在声明一个类, 接口或方法时, 也可以指定其"类型参数", 也就 ...
- html canvas 骰子1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 自定义iOS7导航栏背景,标题和返回按钮文字颜色
在iOS7下,默认导航栏背景,颜色是这样的,接下来我们就进行自定义,如果你仅仅是更改一下背景和颜色,代码会很简单,不需要很复杂的自定义View来替代leftBarItem 更改导航栏的背景和文字Col ...
- Eclipse默认空间与工作空间的更改(转)
一.更改eclipse默认空间 进行 eclipse 目录下的 configuration 目录, 打开config.ini文件 将 osgi.instance.area.default= 项修改成你 ...
- Maven基础知识(转)
文章摘自http://www.cnblogs.com/xing901022/p/4170248.html 谢谢楼主的总结,界面设计的很好看! 一.什么是Maven Maven是一个用于项目构建的工具, ...
- Direct3D 10学习笔记(二)——计时器
本篇将简单整理Direct3D 10的计时器实现,具体内容参照< Introduction to 3D Game Programming with DirectX 10>(中文版有汤毅翻译 ...