多语言展示
当前在线:780今日阅读:176今日分享:34

Django1.7中文入门教程:[16]自定义admin外观

很明显,Django管理页面看上去真的很丑。他只是一个点位文本。虽然改变外观是很容易的,但可以使用Django自带的模板系统。Django管理本身就很强大,他的接口使用的是Django自己的模板系统。
方法/步骤
1

自定义项目模板    在项目目录中创建一个templates目录,Django能接受templates能放到你系统的任何地方。然而把templates目录放到项目目录是一个很明智的选择。

2

打开mysite/settings.py文件,添加一个TEMPLATE_DIRS设置:

3

TEMPLATE_DIRS 是一个迭代系统目录,用来检测Django的模块,是一个搜索目录。现在在templates目录中新建一个admin文件夹。把目录C:\Python34\Lib\site-packages\Django-1.7-py3.4.egg\django\contrib\admin\templates\admin中的base_site.html文件,复制到工程目录下面的\templates\admin。注:如果亲很难找到Django的源文件,那就运行下面的代码:

4

然后,编辑base_site.html文件,找到下面这段代码:{{ site_header|default:_('Django administration') }}再用Polls Administration替换掉。换了之后的代码如下:     Polls Administration完整代码如下:

6

自定义你的APP的模板    机敏的读者可能会问:默认的TEMPLATE_DIR是空的,那Django是怎样找到默认的admin模板。答案是,默认情况,Django自动查找目录/templates/子目录里面的每个应用包,作为后备。(不要忘记django.contrib.admin也是一个应用)    我们的polls应用并不是一个复杂的应用,没有必要自定义admin模板。但是如果这是一个更复杂和需要修改Django标准admin模板和一些方法。更明智的方法就是修改应用模板。

7

自定义admin index页面    和上面相似,你也想自定义admin index页面。    默认情况,在INSTALLED_APPS显示所有的app,admin应用已经按照字母顺序被注册好了。你可能想对布局做显著变化。毕竟,index是admin最重要的页面,它应该具有易用性。    自定义admin/index.html模板页面。(和前面重写admin/base_site.html模板是一样的,从默认目录复制到自定义模板页面中),编辑文件,你将看到它使用一模板变量:app_list.这个变量包括每一个已经安装的app.

推荐信息