2010-07-07 144 views
0

我正在学习django并构建自己的项目。
我想改变管理部分,以我自己的界面,我已经加入子目录的模板名称为“admin”。而开始改变base.html文件
Django管理模板

的问题是 -

  • 我想添加我自己的CSS文件,我该如何做到这一点?我的CSS文件位于我的MEDIA_ROOT目录。我该怎么做?
  • 我看到很多模板标签,我可以在管理部分看到哪些模板标签可供我使用?
  • 没有像Starkers for Wordpress
  • 干净的管理模板Yosy

    回答

    1

    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的管理外观和功能,提供了稍微友好的模板作为副作用。

    +0

    非常感谢一切是固定的^ _^ 所以我手动把它添加到我的代码didn't有TEMPLATE_CONTEXT_PROCESSORS。 – Yosi 2010-07-07 21:23:12

    +0

    更新你的答案与一些更先进的日期和DRY友好 – OldTinfoil 2013-03-28 17:31:05

    1

    对于谷歌stumbers那里:

    1. 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)不应该存储在媒体文件夹中。你应该把它们放在静态文件夹中。您不希望将任何用户上传的内容存储在与静态文件相同的目录中。
    2. 引用@cji的回复:“你可以在任何地方使用所有标签,前提是你已经{%load%}编辑了它们。有特定于管理员的标签,可以在Django源文件中找到here - 不幸的是我没有意识到任何有关他们的文档,所以好像你必须阅读源代码。
    3. 我还没有偶然发现任何在我的旅行中,但不幸的是,在您的网站上的图像被打破,所以我不能确定...