关于django xadmin的学习改造(菜单名称,更改默认前缀数据库)

路径xadmin-master\demo_app\app\models.py

 1 class c(models.Model):
 2     ip_address = models.CharField(max_length=16)
 3
 4     #host = models.ForeignKey(Host)  注意此行,添加的是外键查询
 5
 6     name = models.CharField(max_length=16)
 7     testlist = models.CharField(max_length=16)
 8
 9     def __unicode__(self):
10         return ‘%s c [%s] %s %s‘ % (self.ip_address.name, self.id,
11                                                self.testlist, self.name)
12     class Meta:
13          #app_label = u‘waf日志‘      #更改数据表表名
14          db_table = ‘testc‘ #更改django默认前缀数据库命名规则,详情代码外
15          verbose_name = u"Awaf Log" #app菜单名字,如果没有则为 name+s,加u是中文
16          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

 1 class MaintainLogAdmin1(object):
 2     list_display = (
 3         ‘ip_address‘, ‘name‘, ‘testlist‘)
 4     list_display_links = (‘ip_address‘,)
 5
 6     list_filter = [‘ip_address‘, ‘name‘, ‘testlist‘]
 7     search_fields = [‘ip_address‘]
 8
 9     form_layout = (
10         Col("col2",
11             Fieldset(‘ip_address‘,
12                     ‘name‘, ‘testlist‘,
13                      css_class=‘unsort short_label no_title‘
14                      ),
15             span=9, horizontal=True
16             ),
17         Col("col1",
18             Fieldset(‘ip_address‘,
19                      ‘name‘, ‘testlist‘
20                      ),
21             span=3
22             )
23     )
24     reversion_enable = True
25 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 删除多余再更新创建

  

时间: 2024-10-03 18:35:40

关于django xadmin的学习改造(菜单名称,更改默认前缀数据库)的相关文章

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

第三百七十六节,Django+Xadmin打造上线标准的在线教育平台-创建用户操作app,在models.py文件生成5张表,用户咨询表.课程评论表.用户收藏表.用户消息表.用户学习表 创建名称为app_operation的用户操作APP,写数据库操作文件models.py models.py文件 #!/usr/bin/env python # -*- coding:utf-8 -*- from __future__ import unicode_literals from datetime i

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

一.xadmin后台管理 1.xadmin的安装(源码安装) (1)直接git clone https://github.com/sshwsfc/xadmin.git(前提是装有git) (2)新建Python Package "extra_apps",把源码xadmin文件夹放到extra_apps文件夹下面,此时目录结构如下: (3)把extra_apps右键mark为Source Root (4)在settings中加入如下代码 sys.path.insert(0,os.path

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

第三百八十节,Django+Xadmin打造上线标准的在线教育平台-将所有app下的models数据库表注册到xadmin后台管理 将一个app下的models数据库表注册到xadmin后台管理 重点:xadmin的数据表注册,是到app下查找的adminx文件,所以我们必须在app下创建一个adminx.py文件,所有关于数据表注册到xadmin后台的代码都是写在adminx.py文件里 adminx.py文件编写 1.自定义一个类来继承object对象,这个类叫做数据表管理器 数据表管理器里

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

Django+xadmin打造在线教育平台(一)   代码 github下载 一.前言 代码下载: 开发环境: python:  3.6.4 Django: 2.0.2 后台管理:xadmin 1.1.项目介绍 系统概括: 系统具有完整的用户登录注册以及找回密码功能,拥有完整个人中心. 个人中心: 修改头像,修改密码,修改邮箱,可以看到我的课程以及我的收藏.可以删除收藏,我的消息. 导航栏: 公开课,授课讲师,授课机构,全局搜索. 点击公开课–> 课程列表,排序-搜索.热门课程推荐,课程的分页.

第三百七十五节,Django+Xadmin打造上线标准的在线教育平台—创建课程机构app,在models.py文件生成3张表,城市表、课程机构表、讲师表

第三百七十五节,Django+Xadmin打造上线标准的在线教育平台-创建课程机构app,在models.py文件生成3张表,城市表.课程机构表.讲师表 创建名称为app_organization的课程机构APP,写数据库操作文件models.py models.py文件 #!/usr/bin/env python # -*- coding:utf-8 -*- from __future__ import unicode_literals from datetime import datetim

第三百八十六节,Django+Xadmin打造上线标准的在线教育平台—HTML母版继承

第三百八十六节,Django+Xadmin打造上线标准的在线教育平台-HTML母版继承 母板-子板-母板继承 母板继承就是访问的页面继承一个母板,将访问页面的内容引入到母板里指定的地方,组合成一个新页面返回给浏览器 一般母板里都是写的一个网页里不变的地方,也就是通用的地方,被继承页(访问页)都是每个页面不同的地方,也就是将页面不同的地方引入到母板组合成一个新页面返回浏览器 母板里一般都是网页的.头部.底部.头部底部css.头部底部js 被继承页(访问页)里一般都是新内容,新内容的css和js 母

第三百八十七节,Django+Xadmin打造上线标准的在线教育平台—网站上传资源的配置与显示

第三百八十七节,Django+Xadmin打造上线标准的在线教育平台-网站上传资源的配置与显示 首先了解一下static静态文件与上传资源的区别,static静态文件里面一般防止的我们网站样式的文件,包括ccs,js,网站样式图片 上传资源是用户操作上传的图片等资源 上传资源的配置 1,首先在项目里创建一个名称叫media的文件夹专门保存用户上传 2,settings.py文件配置上传资源的路径 # 上传资源路径,如果图片,上传文件等 MEDIA_URL = '/media/' # 设置上传资源

第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—路由映射与静态文件配置

第三百八十四节,Django+Xadmin打造上线标准的在线教育平台-路由映射与静态文件配置以及会员注册 基于类的路由映射 from django.conf.urls import url, include # 导入django自在的include逻辑 from django.contrib import admin from django.views.generic import TemplateView # 导入django自带的TemplateView逻辑 import xadmin #

第三百九十六节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说

第三百九十六节,Django+Xadmin打造上线标准的在线教育平台-其他插件使用说 设置后台列表页面字段统计 在当前APP里的adminx.py文件里的数据表管理器里设置 aggregate_fields = {'字段名称':'sum为统计数,min为统计时间'} class CourseAdmin(object): # 自定义数据表管理器类 # 设置xadmin后台显示字段 list_display = ['name', 'desc', 'detail', 'degree', 'learn_