自定义Django应用管理模板
我想为我在Django项目中的每个应用创建一个自定义的index.html,这个文件是从admin/index.html派生出来的。
比如说,我的文件夹结构是这样的:
- app1
- templates
- index.html(这个文件和全局模板admin/index.html不一样)
- templates
- app2
- templates
- admin
- base.html
- index.html(这是全局模板index.html)
- admin
我该如何为我的应用实现自定义的admin index.html文件,让Django能够识别呢?目前只有全局模板/admin文件夹中的index.html被用来渲染我后台的首页。
我使用的是Django 1.6。
1 个回答
6
很遗憾,Django的管理界面并不是每个部分都可以按应用单独修改,正如文档中所说的:
在contrib/admin/templates/admin中,并不是每个模板都可以按应用或模型单独修改。以下这些是可以的:
- app_index.html
- change_form.html
- change_list.html
- delete_confirmation.html
- object_history.html
要记住,管理界面本身就是一个应用,所以它会一次性加载第一个找到的模板。
我觉得你可以考虑的两个方案是:要么在项目中使用多个管理站点,要么为特定应用添加自定义视图。前者可能更简单,但如果你不想让用户单独登录来管理某些内容,那就会有问题。