代码之家  ›  专栏  ›  技术社区  ›  Yosi

Django管理模板

  •  0
  • Yosi  · 技术社区  · 15 年前

    我正在学习django并建立自己的项目。
    我想改变管理部分到我自己的界面,我已经添加了子目录到模板名称“admin”。并开始改变base.html

    问题是-

  • 我想添加我自己的css文件,我该怎么做?我的css文件位于我的MEDIA\u根目录下。我该怎么做?
  • 我看到了很多模板标签,在那里我可以看到哪些模板标签对我的管理部分?
  • 有一个干净的管理模板,如 Starkers for Wordpress
  • 约西

    2 回复  |  直到 15 年前
        1
  •  1
  •   cji    15 年前

    1) 如果“django.core.context\u processors.media”包含在settings.py的TEMPLATE\u context\u processors(默认情况下)中,您可以添加 <link> {{ MEDIA_URL }}/your_stylesheet.css templates/admin/base.html ,如是(我使用的是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管理的外观和功能,提供了稍微友好的模板作为副作用。

        2
  •  1
  •   Community CDub    8 年前

    对于那些谷歌的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 -不幸的是,我不知道他们的任何文件,所以似乎你必须阅读源代码。
    推荐文章