Я изучаю django и создаю собственный проект.
Я хочу изменить раздел администратора на свой собственный интерфейс, я добавил подкаталог к именам шаблонов «admin». И начал изменять base.html

Проблемы-

  • Я хочу добавить свой собственный файл css, как я могу это сделать? Мой файл css находится в моем каталоге MEDIA_ROOT. Как я могу это сделать?
  • Я видел много тегов шаблонов, где я могу увидеть, какие теги шаблонов доступны мне в разделе администратора?
  • Есть чистый шаблон администратора, например Starkers для Wordpress.
  • Ёси

    0
    Yosi 7 Июл 2010 в 23:11

    2 ответа

    Лучший ответ

    1) Если "django.core.context_processors.media" включен в TEMPLATE_CONTEXT_PROCESSORS (что по умолчанию) в вашем settings.py, вы можете добавить <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 здесь. - к сожалению, мне не известны какие-либо документы о них, поэтому, похоже, вам нужно прочитать источник.

    3) Я не слышал об этом для администратора Django, но есть проект с именем Grappelli, который улучшает внешний вид и функциональность администратора Django, предоставляя в качестве побочного эффекта несколько более дружелюбные шаблоны.

    1
    cji 7 Июл 2010 в 20:54

    Для странников Google:

    1. Это гораздо лучший способ переопределения элементов в шаблоне администратора. Вероятно, это самый СУХИЙ метод, который я встречал за годы работы с Django.

      Обратите внимание, что статические файлы (например, ваш css) не должны храниться в папке мультимедиа. Вы должны поместить их в статическую папку. Вы не хотите хранить загруженный пользователем контент в том же каталоге, что и ваши статические файлы.
    2. Цитата из ответа @cji: "Вы можете использовать все теги везде, если вы {% load%} редактировали их раньше. Существуют специальные теги администратора, которые можно найти в исходном коде Django здесь - к сожалению, мне не известны какие-либо документы о них, поэтому похоже, что вам нужно читайте источник.
    3. Я не наткнулся ни на что в своих путешествиях. Но, к сожалению, изображения на вашем сайте не работают, поэтому я не могу быть уверен ...
    1
    Community 23 Май 2017 в 10:27