路径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的学习改造(菜单名称,更改默认前缀数据库)的更多相关文章

  1. 第三百七十六节,Django+Xadmin打造上线标准的在线教育平台—创建用户操作app,在models.py文件生成5张表,用户咨询表、课程评论表、用户收藏表、用户消息表、用户学习表

    第三百七十六节,Django+Xadmin打造上线标准的在线教育平台—创建用户操作app,在models.py文件生成5张表,用户咨询表.课程评论表.用户收藏表.用户消息表.用户学习表 创建名称为ap ...

  2. Django+xadmin打造在线教育平台(二)

    三.xadmin后台管理 3.1.xadmin的安装 django2.0的安装(源码安装方式): https://github.com/sshwsfc/xadmin/tree/django2 把zip ...

  3. django+xadmin在线教育平台(十)

    剩余app model注册 courses注册 新建courses/adminx.py: # encoding: utf-8 __author__ = 'mtianyan' __date__ = '2 ...

  4. Django+xadmin打造在线教育平台(一)

    目录 在线教育平台(一)      在线教育平台(二) 在线教育平台(三)      在线教育平台(四) 在线教育平台(五)      在线教育平台(六) 在线教育平台(七)      在线教育平台( ...

  5. 第三百九十五节,Django+Xadmin打造上线标准的在线教育平台—Xadmin集成富文本框

    第三百九十五节,Django+Xadmin打造上线标准的在线教育平台—Xadmin集成富文本框 首先安装DjangoUeditor3模块 Ueditor HTML编辑器是百度开源的HTML编辑器 下载 ...

  6. 第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置2,以及目录结构说明

    第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置2,以及目录结构说明 设置后台列表页面可以直接修改字段内容 在当前APP里的adminx.py文件里的 ...

  7. 第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理

    第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理 将一个app下的models数据库表注册到xadmin后台管理 重点 ...

  8. 第三百七十四节,Django+Xadmin打造上线标准的在线教育平台—创建课程app,在models.py文件生成4张表,课程表、课程章节表、课程视频表、课程资源表

    第三百七十四节,Django+Xadmin打造上线标准的在线教育平台—创建课程app,在models.py文件生成4张表,课程表.课程章节表.课程视频表.课程资源表 创建名称为app_courses的 ...

  9. Python升级3.6 强力Django+Xadmin打造在线教育平台

    第 1 章 课程介绍 1-1 项目演示和课程介绍: 第 2 章 Windows下搭建开发环境 2-1 Pycharm.Navicat和Python解释器的安装: Pycharmhttp://www.j ...

随机推荐

  1. Easy51RTOS入门级初略分析

    main.c #include "reg51.h" #include "os_cfg.h" #define TASK_DELAY0 TIME_PER_SEC/1 ...

  2. Python笔记-集合,拷贝

    对于列表,元组,集合的异同,有如下解释 #list ----> 允许重复的集合,修改# tuple ----> 允许重复的集合,不修改# set ----> 不允许重复的集合下面是示 ...

  3. 008-Scala主构造器、私有构造器、构造器重载实战详解

    008-Scala主构造器.私有构造器.构造器重载实战详解 Scala主构造器实战 无参数的主构造器 分析 1.name 需要赋初值,一般通过占位符来代表空值 2.private 声明私有的age 生 ...

  4. 在gridControl的单元格中的多行文本

    我们知道,gridcontrol里面的单元格默认是不能换行的,但是有时候我们需要显示要换行的文本,应该怎么处理呢?这里提供一个方案: 假设我有一个列”合同文本“(colContractText),我要 ...

  5. play(1) 第一个简单的应用

    去年去了一家公司,公司要求要回使用play,所以在几天的时间内猛学习了一段时间play,发现play!有很多优点:简单,小巧,高开发效率,集成很多功能,容易调试.现在虽然已经不在那家公司,没有使用pl ...

  6. 学习Excel 十大函数

    云课堂视频教程 笔记总结: URL:http://study.163.com/course/courseLearn.htm?courseId=1009026#/learn/video?lessonId ...

  7. HighChats图表控件显示精度小数点的方法

    相信大家对highchats这个图表控件并不陌生,最近在项目中用到它,但是某些字段需要显示为小数点,顾查找资料文档发现下面两个方式可以实现: 初始化时候添加如下两个参数 tooltip:{    fo ...

  8. python时间时分秒与秒数的互相转换

    受到Unix时间戳的启发,我发现时间转成秒数后会非常好处理,在程序当中不再是以字符串的形式处理,不管时间的加减还是获取随机的时间点都变得非常方便, 如果有需要,也很容易转换成需要的时间格式. 一:时间 ...

  9. 关于JQuery简单介绍

    jQuery是一个兼容多浏览器的javascript库,核心理念是写得更少,做得更多.如今,jQuery已经成为最流行的javascript库,在世界前10000个访问最多的网站中,有超过55%在使用 ...

  10. Android添加代码检查权限

    1,首先创建一个项目,然后创建一个类,hello.java public class hello { public static final String PERMISSION_SAY_HELLO = ...