2014-01-25 2 views
3

Сейчас я занимаюсь разработкой приложений с обратной связью,Django 1.6 Панель администратора настройки

Таким образом, администратор должен видеть сообщения от пользователей, фильтровать их (чтение/непрочитанные) и пометить их как важные. Я уже выполнил всю необходимую мне функциональность, но я не могу настроить свои заголовки. Например, . В списке изменений есть заголовок по умолчанию (см. Снимок экрана, этот заголовок выбран), Как удалить эти заголовки или настроить их? Screenshot

Большое спасибо заранее.

ответ

6

Собственно, ответ от @mayankTUM не правильный. Он не следует за django design philosophies и не должен быть реализован (сам @mayankTUM упоминает одну из проблем его решения, но есть много и много других)!

В принципе, что вам нужно сделать, может быть сделано overriding the admin templates. Потому что есть некоторые проблемы с тем, что (я объясню позже), вот именно то, что я сделал, чтобы решить ваши требования:

  1. создал каталог с именем admin в моей templates папки.
  2. Номер модели change_list.html от <django>\contrib\admin\templates\admin\change_list.html.
  3. Добавлено следующее в конце нового change_list.html: {% block content_title %}Hello world!{% endblock %}

Теперь, вместо того, чтобы «Выбрать ... для изменения», он будет печатать «Привет мир!»

я должен заметить, что копирование всегоchange_list.html не DRY - это было бы гораздо лучше, если бы я только что создал файл, сделал простираться от admin/change_list.html и добавить content_title. Однако это не работает и приведет к бесконечной рекурсии (пожалуйста, проверьте этот отчет об ошибке https://code.djangoproject.com/ticket/15053) - это проблема, о которой я говорил раньше. Лучшее решение, что копирование на весь шаблон обсуждается в следующих вопросах:

Django: Overriding AND extending an app template и How to override and extend basic Django admin templates? и django override admin template

PS: Мои настройки проекта TEMPLATE_DIRS и TEMPLATE_LOADERS являются следующие:

TEMPLATE_DIRS = (
    PROJECT_PATH.child('templates'), 
) 

TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.Loader', 
    'django.template.loaders.app_directories.Loader', 
) 
Смежные вопросы