2016-08-24 2 views
1

Я знаю, что меня спрашивают и отвечают несколько раз, но я в основном перешел все сообщения о переполнении стека и все еще не мог заставить это работать. Прямо сейчас я просто пытаюсь просто изменить название сайта администратора. У меня есть следующие:django: как я фактически переопределяю шаблон сайта администратора

#base_site.html 
{% extends "admin/base_site.html" %} 

{% block title %}{{ title }} | {{ site_title|default:_('NEW TITLE') }}{% endblock %} 

{% block branding %} 
<h1 id="site-name"><a href="{% url 'admin:index' %}">{{ site_header|default:_('NEW TITLE') }}</a></h1> 
{% endblock %} 

{% block nav-global %}{% endblock %} 

И я попытался сделать это в

my_site/шаблоны/админ/base_site.html,

my_site/шаблоны/админ/my_app/base_site.html и

my_site/my_app/шаблоны/администратор/base_site.html,

, но ни одна из этих работ не работает.

settings.py: 
TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [os.path.join(BASE_DIR, 'templates')], 
     'OPTIONS': { 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       'django.contrib.auth.context_processors.auth', 
       'django.contrib.messages.context_processors.messages', 
      ], 
      'loaders': [ 
       'django.template.loaders.filesystem.Loader', 
       'django.template.loaders.app_directories.Loader', 
      ], 
     }, 
    }, 
] 

Я также попытался просто непосредственно изменяя Джанго \ вно \ Admin \ Шаблоны \ админ \ base_site.html, но до сих пор ничего не происходит.

Я действительно расстроен сейчас, и, безусловно, могли бы использовать некоторую помощь, спасибо

Обновления: На самом деле я обнаружил, что локальный шаблон имеет эффект. enter image description here

Как здесь, самый верхний белый бар показывает «#[email protected]#», который является то, что я положил в my_site/шаблоны/админ/base_site.html как комментарий случайно. Так что это работает, но я до сих пор не понимаю, почему я не могу изменить название сайта.

+0

Если это не работает при редактировании шаблона источника, то что-то серьезно странное происходит. Вы уверены, что используете сервер, откуда вы думаете? –

+0

@ DanielRoseman да, я совершенно уверен в этом. Поэтому я действительно почесываю голову для этого сейчас. –

+0

https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#customizing-adminsite – allcaps

ответ

3

Сначала откройте settings.py и добавить папку шаблона:

TEMPLATES = [ 
{ 
    'DIRS': [ 
     '/path/to/your/django-project/templates', # Absolute Path 
     # os.path.join(BASE_DIR, 'templates') # Relative Path 
    ], 
    ... 

Затем переместите файл base_site.html в следующий каталог. Важно сохранить структуру файловой системы.

/path/to/your/django-project/templates/admin/base_site.html

Содержание base_site.HTML:

{% extends "admin/base_site.html" %} 

{% block title %}{{ title }} | {{ site_title|default:_('NEW TITLE') }}{% endblock %} 

{% block branding %} 
<h1 id="site-name"><a href="{% url 'admin:index' %}">Your new Title</a></h1> 
{% endblock %} 

{% block nav-global %}{% endblock %} 

Django Documentation - Overriding Admin Site

Надежда, что помогает.

0

использование my_site/my_app/шаблоны/администратор/base_site.html

поставить приложение, где вы определяете этот шаблон до 'django.contrib.admin', в INSTALLED_APPS

link

+0

Спасибо, но я уверен, что я все это сделал, все еще в vain –

0

Вы должны удалить site_title из шаблона. Заказ приложений в INSTALLED_APPS не имеет значения.

{% extends "admin/base_site.html" %} 

{% block title %}{{ title }} | {{ _('NEW TITLE') }}{% endblock %} 

{% block branding %} 
    <h1 id="site-name"> 
     <a href="{% url 'admin:index' %}"> 
      {{ _('NEW TITLE') }} 
     </a> 
    </h1> 
{% endblock %} 

{% block nav-global %}{% endblock %} 
2

Поэтому вы должны удалить, включая фигурные скобки, и просто написать текст, который вы хотите.

 
Remove: `{{ site_title|default:_('NEW TITLE') }}` Write: NEW TITLE 
Remove: `{{ site_header|default:_('NEW TITLE' }}` Write: NEW TITLE 

Также убедитесь, что вы разместили папки (шаблоны/admin) в корневой директории вашего проекта. корневой каталог - это контейнер для всех ваших папок приложений, а также файл manage.py.

Другими словами, папка «шаблоны», которую вы хотите создать, должна быть на том же уровне с файлом manage.py.

Ваша структура папок должна выглядеть следующим образом:

 
mysite/ 
    templates/ admin/ base_site.html 
    manage.py 
    mysite/ 
     __init__.py 
     settings.py 
     urls.py 
     wsgi.py 
    ... 
    ... 
+0

Супер полезно показать иерархию, спасибо –

Смежные вопросы