2010-07-07 152 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. 我還沒有偶然發現任何在我的旅行中,但不幸的是,在您的網站上的圖像被打破,所以我不能確定...