xadmin学习笔记(二)——改造Django教程实例(1)
前言
xadmin是基于Python和Django的管理框架,想要能够熟练使用,学习Django是必须的。在学习Django的过程中,不妨用xadmin来验证下新的效果是怎样的。本文就是在学习Django官方文档的Tutorial的过程中进行的摸索。
FAQ 1:如何修改xadmin的site-title和site-footer?
site-title和site-footer都是设置在base_site.html模板页面中的,可以从xadmin的安装目录下的xadmin\templates\xadmin目录中找到
从图片中可以看出来,site_title和site_footer都是可以通过程序设置的变量,那么想要设置这两个变量要怎么做呢?只要在adminx.py文件中添加GlobalSetting类,具体代码如下:
class GlobalSetting(object):
#设置base_site.html的Title
site_title = 'My Title'
#设置base_site.html的Footer
site_footer = 'My Footer'
xadmin.site.register(views.CommAdminView, GlobalSetting)
插入这段代码之后,我们就修改了site-title和site-footer。查看下修改后效果:
FAQ 2:如何修改xadmin的菜单设置?
默认情况下xadmin提供了一套菜单的设置规则,使用SortedDict类型进行存储, Django的官方文档上描述SortedDict的排序顺序是保持插入顺序的,所以菜单的显示与adminx.py文件中注册的顺序有关系,通过调整注册顺序可以改变菜单的显示顺序。
但是仅仅做到这一步并不能满足我们的要求,我们希望能够根据自己的需要来更改菜单的标题、图标、控制菜单的权限,甚至菜单的路由,那么我们就可以使用下面的设置来进行修改。
class GlobalSetting(object):
#菜单设置
def get_site_menu(self):
return (
{'title': '投票管理', 'perm': self.get_model_perm(Poll, 'change'), 'menus':(
{'title': '投票', 'url': self.get_model_url(Poll, 'changelist')},
{'title':'选票','url': self.get_model_url(Choice, 'changelist')}
)},
)
xadmin.site.register(views.CommAdminView, GlobalSetting)
仍然是在adminx.py文件中进行设置,设置后,我们可以得到如下的菜单展示。
关于菜单设置的更详细的说明,大家可以参考xadmin的官方文档的FAQ:如何定制系统菜单。
PS:今天通过自己的摸索并查看Django官方文档和xadmin官方文档学习了很多内容,非常值得高兴的是还帮助朋友解决了问题,觉得学习的很有价值。对于和我一样没有Django基础又想学习xadmin的朋友,可以边看Django文档,边用xadmin实现,然后去查看xadmin中的代码,虽然感觉吃力,但是会有收获,也能认识到xadmin和Django自带的admin之间的区别。
xadmin学习笔记(二)——改造Django教程实例(1)的更多相关文章
- python 学习笔记二十 django项目bbs论坛
项目:开发一个简单的BBS论坛 需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可 ...
- Django学习笔记二
Django学习笔记二 模型类,字段,选项,查询,关联,聚合函数,管理器, 一 字段属性和选项 1.1 模型类属性命名限制 1)不能是python的保留关键字. 2)不允许使用连续的下划线,这是由dj ...
- 学习笔记(二)--->《Java 8编程官方参考教程(第9版).pdf》:第七章到九章学习笔记
注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法者自负一切 ...
- python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码
python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...
- python3.4学习笔记(二十五) Python 调用mysql redis实例代码
python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...
- python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码
python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...
- tensorflow学习笔记二:入门基础 好教程 可用
http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础 TensorFlow用张量这种数据结构来表示所有的数据.用一 ...
- InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移
系列目录 InterSystems Ensemble学习笔记(一) Ensemble介绍及安装InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移 一 ...
- Java IO学习笔记二
Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...
随机推荐
- A Tour of Go Exercise: Maps
Implement WordCount. It should return a map of the counts of each “word” in the string s. The wc.Tes ...
- 转载c#泛型 类型参数的约束(c#编程指南)
在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制.如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误.这些限制称为约束.约束是使用 where 上 ...
- jquery中 cache: true和false的区别
true:会读缓存,可能真的到服务器上. 假如上次访问了a.html,第二次的时候得到的是上次访问的a.html的结果,而不是重新到服务器获取. false:会在url后面加一个时间缀,让它跑到服务器 ...
- SQL Server Profiler参数说明
上图依次说明为: TextDate 依赖于跟踪中捕获的事件类的文本值: ApplicationName 创建 SQL Server 连接的客户端应用程序的名称.此列由该应用程序传递的值填充,而不是由所 ...
- [二]JQueryMobile常用的组件介绍
1.页头.主要部门.页尾构成一个基本的页面 2.按钮组件(input.a) 3.列表组件(ul) 4.表格组件(table)
- 认识CoreData-高级用法
来源:伯乐在线专栏作者 - 刘小壮 链接:http://ios.jobbole.com/87293/ 点击 → 了解如何加入专栏作者 认识CoreData-初识CoreData 认识CoreData- ...
- 创建性能监视器(logman)
在本地计算机上抓取性能信息 Logman.exe create counter Perf-1Second -f bincirc -max 500 -c "\Processor(*)\% Pr ...
- Apache Options Indexes FollowSymLinks具体解释
禁止显示Apache文件夹列表-Indexes FollowSymLinks 怎样改动文件夹的配置以禁止显示 Apache 文件夹列表. 缺省情况下假设你在浏览器输入地址: http://loc ...
- Samba Linux和Windows互访
之前一直用的sshfs manager,但是会出现造成电脑黑屏的情况.网上也没找到其它类似的软件. 后面打算用Samba 直接搜到一篇很强大的文章. 1. 下载及安装Samba 推荐用yum来安装, ...
- spring关于“transactionAttributes”的相关配置
spring关于"transactionAttributes"的相关配置 <bean id="baseTransactionProxy" class=&q ...