Django管理模板
问题描述:
我正在学习django并构建自己的项目。
我想改变管理部分,以我自己的界面,我已经加入子目录的模板名称为“admin”。而开始改变base.html文件
Django管理模板
的问题是 -
干净的管理模板Yosy
答
1)如果 “django.core.context_processors.media” 被包括在TEMPLATE_CONTEXT_PROCESSORS(这是默认设置)在您的settings.py,你可以在templates/admin/base.html
添加<link>
到{{ MEDIA_URL }}/your_stylesheet.css
,像这样(我使用Django 1.2管理模板):
...
<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% load adminmedia %}{% admin_media_prefix %}css/base.css{% endblock %}" />
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}/your_stylesheet.css" />
...
2)您可以使用所有的标签无处不在,如果你{%load%}
艾德米之前。有管理员的具体标签,这可以在Django源here找到 - 不幸的是我不知道任何有关他们的文档,所以看起来像你必须阅读来源。
3)我还没有听说过Django管理员这样的事情,但是有一个名为Grappelli的项目改进了Django的管理外观和功能,提供了稍微友好的模板作为副作用。
答
对于谷歌stumbers那里:
-
This is a much better way of overriding things in the admin template. Probably the most DRY method I've come across in my years of Django-ing。
你应该注意静态文件(如你的CSS)不应该存储在媒体文件夹中。你应该把它们放在静态文件夹中。您不希望将任何用户上传的内容存储在与静态文件相同的目录中。 - 引用@cji的回复:“你可以在任何地方使用所有标签,前提是你已经{%load%}编辑了它们。有特定于管理员的标签,可以在Django源文件中找到here - 不幸的是我没有意识到任何有关他们的文档,所以好像你必须阅读源代码。
- 我还没有偶然发现任何在我的旅行中,但不幸的是,在您的网站上的图像被打破,所以我不能确定...
非常感谢一切是固定的^ _^ 所以我手动把它添加到我的代码didn't有TEMPLATE_CONTEXT_PROCESSORS。 – Yosi 2010-07-07 21:23:12
更新你的答案与一些更先进的日期和DRY友好 – OldTinfoil 2013-03-28 17:31:05