上一篇中我们基本完成了xadmin的配置,但是要进行正式使用还需要更多细致的配置。

1.页面显示中文

settings.py中配置(这个和django自带的admin配置一样)

# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans' # TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'

可见登录页面和首页都变成中文了:

2.xadmin的site-title和site-footer,菜单折叠

site-title和site-footer都是设置在base_site.html模板页面中的,可以从xadmin的安装目录下的xadmin\templates\xadmin目录中找到:

从图片中可以看出来,site_title和site_footer都是可以通过程序设置的变量,那么想要设置这两个变量要怎么做呢?只要在adminx.py文件中添加GlobalSetting类,具体代码如下:

from xadmin import views

class GlobalSetting(object):
# 设置base_site.html的Title
site_title = '我的脑袋'
# 设置base_site.html的Footer
site_footer = '我的脚丫'
xadmin.site.register(views.CommAdminView, GlobalSetting)

  效果:

设置菜单折叠,在上面代码下添加:   menu_style = "accordion"

折叠菜单如下:

3.设置models的全局图标

和上面修改title和footer一样,在类GlobalSetting 中添加:

    global_models_icon = {
V_UserInfo: "glyphicon glyphicon-user", UserDistrict: "fa fa-cloud"
} # 设置models的全局图标

  

这样我们可以看到图标的model图标的变化

至于图标的对应代码可以去

http://v3.bootcss.com/components/

http://www.yeahzan.com/fa/facss.html

上查找。

官网是这样介绍的:

4.设置app标题。

这里还显示的是我们app的名字,怎么修改呢?

涉及2个地方:

1> apps.py里添加verbose_name

2>__init__.py添加默认配置。

之后我们就可以看到修改后的页面了:

5.显示数据详情

设置 OptionClass 的 show_detail_fields .

效果:

6.列表定时刷新

设置 OptionClass 的 refresh_times 属性即可. refresh_times 属性是存有刷新时间的数组. xadmin 默认不开启该插件.

效果如下:

7.书签

数据列表页面特定的数据过滤,排序等结果,添加的书签还可以在首页仪表盘中作为小组件添加。

在Model  OptionClass中设定如下属性:

  • show_bookmarks 属性:

    设置是否开启书签功能, 默认为 True

  • list_bookmarks 属性:

    设置默认的书签. 用户可以在列表页面添加自己的书签, 你也可以实现设定好一些书签, 使用实例如下:

使用实例如下:

    list_bookmarks = [{
"title": "存在邮箱",
"query": {"user_email__contains": '@'},
"order": ("-user_name",),
"cols": ('user_name', 'user_email', 'user_mobile'),
}]

  

效果:

8.图表

在数据列表页面,根据列表数据生成图表,可以指定多个数据列,生成多个图表。

在Model OptionClass 中设定data_charts属性,该属性为dict类型,key是图表的标示名称,value是图表的具体设置属性,示例:

    data_charts = {
"user_count": {'title': u"User Register Raise", "x-field": "year", "y-field": ("cn",),
"order": ('year',)},
# "avg_count": {'title': u"Avg Report", "x-field": "date", "y-field": ('avg_count',), "order": ('date',)}
}

  

图表的主要属性为:

title : 图表的显示名称

x-field : 图表的 X 轴数据列, 一般是日期, 时间等

y-field : 图表的 Y 轴数据列, 该项是一个 list, 可以同时设定多个列, 这样多个列的数据会在同一个图表中显示

order : 排序信息, 如果不写则使用数据列表的排序

效果:

9.数据导出

如果想要导出Excel数据,需要安装xlwt。

默认情况下,xadmin会提供Excel,CSV,XML,json四种格式的数据导出,可以通过设置OptionClass的list_export属性来指定使用哪些导出格式(四种格式分别用xls,csv,xml,json表示)或是将list_export设置为None来禁用数据导出功能。

10.过滤

在 Model OptionClass 中设置以下属性:

  • list_filter 属性:

    该属性指定可以过滤的列的名字, 系统会自动生成搜索器

  • search_fields 属性:

    属性指定可以通过搜索框搜索的数据列的名字, 搜索框搜索使用的是模糊查找的方式, 一般用来搜素名字等字符串字段

  • free_query_filter 属性:

    默认为 True , 指定是否可以自由搜索. 如果开启自由搜索, 用户可以通过 url 参数来进行特定的搜索, 例如:

    http://xxx.com/xadmin/auth/user/?name__contains=tony

11. 设置只读字段

在使用xadmin的时候,ModelAdmin默认只有对于model的增删改查,但是总是有些字段是不希望用户来编辑的。而 readonly_fields 设置之后不管是admin还是其他用户都会变成只读,而我们通常只是想限制普通用户。 这时我们就可以通过重写 get_readonly_fields 方法来实现对特定用户的只读显示。

class UserInfoAdmin():

    def get_readonly_fields(self):
""" 重新定义此函数,限制普通用户所能修改的字段 """
if self.user.is_superuser:
self.readonly_fields = []
return self.readonly_fields readonly_fields = ('user_email',)

  效果:

普通用户:

admin:

参考: http://xadmin.readthedocs.io/en/docs-chinese/plugins.html

http://blog.csdn.net/lyysr/article/details/48735053

http://www.cnblogs.com/shhnwangjian/p/6372503.html

Django xadmin的使用 (二)的更多相关文章

  1. Django - Xadmin 组件(二)

    Django 自带的 admin 组件可以自定义配置,本文实现 Xadmin 对自定义显示数据列 (list_display) 的配置. 构建表单数据 模板层 从视图函数传来的数据变量是双层列表,第一 ...

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

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

  3. 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置

    第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本  uwsgi- ...

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

    五.完成注册.找回密码和激活验证码功能 5.1.用户注册 register.html拷贝到templates目录 (1)users/views.py class RegisterView(View): ...

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

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

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

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

  7. Django Xadmin - 重构django admin

    一.Django admin的执行流程 https://www.cnblogs.com/weihengblog/p/9122509.html 我的博客,介绍了django admin执行流程 二.Xa ...

  8. django+x-admin管理后台模板开发管理后台案例(设计部分)

    使用django+x-admin管理后台模板搭建管理后台 一.环境需求 1.django:3.1 2.python:3.7 3.x-admin:2.2 4.pycharm:2020.3.2 5.ubu ...

  9. 我的django之旅(二)模板和静态文件

    我的django之旅(二)模板和静态文件 标签(空格分隔): django 1.为什么要使用模板 在上一篇博文中,提到了HttpReponse,但是HttpReponse只能传送字符串,如果要构建一个 ...

  10. Django入门实践(二)

    Django入门实践(二) Django模板简单实例 上篇中将html写在了views中,这种混合方式(指Template和views混在一起)不适合大型开发,而且代码不易管理和维护,下面就用Djan ...

随机推荐

  1. spring mvc 思想

    目录 一.前言 二.spring mvc 核心类与接口 三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说 ...

  2. for(j=0,i=0;j

    for(j=0,i=0;j<6,i<10;j++,i++) { k=i+j; } k 值最后是多少? <script type="text/javascript" ...

  3. 《selenium2 python 自动化测试实战》(5)——键盘事件

    键盘事件,就是键盘上的一些操作,比如Ctrl +C,Ctrl+V,Ctrl+X等. 对键盘的操作需要导入另一个键盘的库: from selenium.webdriver.common.keys imp ...

  4. 【Oracle】OGG单向复制配置

    实验环境: 源端: Ip:192.168.40.10 DataBase:Oracle 11.2.0.1.0 ORCL OS:OEL5.6 OGG:fbo_ggs_Linux_x86_ora11g_32 ...

  5. 什么是spark(六)Spark中的对象

    Spark中的对象 Spark的Conf,极简化的场景,可以设置一个空conf给sparkContext,在执行spark-submit的时候,系统会默认给sparkContext赋一个SparkCo ...

  6. laravel Auth token创建于使用

    token 的创建和使用, https://laravelacademy.org/post/3640.html 用户表密码字段验证修改,不只是password https://www.jianshu. ...

  7. 网站建设之高速WEB的实现

    1.此文目的 漂亮的色彩.绚丽的动画在输入网址后便能呈现在你的眼前.互联网无可否认已经融入了我们的生活. 我们可以山寨出iPhone却很难有属于自己独特的理念关于事物的思想和心脏. 互联网是现实.艺术 ...

  8. easyui-datebox设置只能选择年月,设置当前月的第一天和最后一天

    来源:https://www.cnblogs.com/xiaoxiao0314/p/7041731.html 1. 设置只能控件只能显示年月:search_date_monthreport为控件id, ...

  9. (转)Inno Setup入门(三)——指定压缩方式

    本文转载自:http://blog.csdn.net/augusdi/article/details/8564796 Setup段中的compression指定了采用的压缩方式,较高的压缩率需要较多的 ...

  10. 杂项: Memcached

    ylbtech-杂项: Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动 ...