定制django的admin外观

来源:http://djangobook.py3k.cn/chapter06/

定制管理界面的外观和感觉
显然,如果在每个管理页面的头部都包含头部区域代码是搞笑的。它就和Django的模板系统一样,是块标签的占位符。

 

通过Django模板系统可以很容易的修改它。Django管理站点同样是用Django编写的,它的用户界面使用Django自己的模板系统。(关于Django模板系统请参见第四章。)

我们在第四章已经讲到, TEMPLATE_DIRS 配置设置了Django加载模板的目录列表。要自定义Django的管理模板,只需要拷贝Django发行版中的整个管理模板到你在 TEMPLATE_DIRS 里设置的模板目录里。

 

管理站点的头部区域在模板 admin/base_site.html 里。缺省情况下,这个模板在 Django管理模板目录 django/contrib/admin/templates 里,你可以在Django的安装目录找到它,例如Python的 site-packages 目录或者你安装的其他目录。要自定义这个 base_site 模板,把这个模板拷贝到你的模板目录下的 admin 子目录。例如,假定你的模板目录是 "/home/mytemplates" ,拷贝 django/contrib/admin/templates/admin/base_site.html 到 /home/mytemplates/admin/base_site.html 。不要忘了有 admin 子目录。

然后,编辑这个新 admin/base_site.html 文件,替换你自己站点的名称上去。

 

备注 每个Django缺省的管理模板都可以重载。要重载一个模板,就象 base_site.html 一样的去做:把它从缺省目录中拷贝到你自己的模板目录中然后修改它。

 

你可能会想到是这么一回事,如果 TEMPLATE_DIRS 缺省是空的,Django就使用缺省的管理模板。正确的回答是,缺省情况下,Django自动在每个app里的 templates/ 子目录里搜索模板来做后备。具体请看第十章中的编写自定义模板加载器章节。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/huzhenwei/archive/2010/03/25/5415805.aspx


posted @ 2012-04-12 17:12  jianhong  阅读(192)  评论(0编辑  收藏  举报