Я следую учебному руководству на http://docs.djangoproject.com/en/dev/intro/tutorial02/#intro-tutorial02 в среде Windows 7. Мой файл настроек:
TEMPLATE_DIRS = (
'C:/django-project/myapp/mytemplates/admin'
)
Я добрался base_template
из шаблона admin/base_site.html
из значения по умолчанию администраторский шаблонный каталог Django в исходном коде Django самом (django/contrib/admin/templates) в администраторский подкаталог myapp каталога, поскольку проинструктировано учебное руководство.
Это, кажется, не берет влияние по некоторым причинам. Какая-либо подсказка того, какова могла бы быть проблема? Я должен сделать синхронизирующий дб?
Я знаю, что этого нет в учебнике по Django, и это позор для них, но лучше задавать относительные пути для ваших переменных пути. Вы можете настроить это так:
import os
PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))
...
MEDIA_ROOT = PROJECT_PATH + '/media/'
TEMPLATE_DIRS = (
PROJECT_PATH + '/templates/',
)
Таким образом, вы можете переместить ваш проект Django, и ваши корни путей будут обновлены автоматически. Это полезно, когда вы настраиваете свой рабочий сервер.
Во-вторых, что-то подозрительное с вашим путем TEMPLATE_DIRS. Он должен указывать на корень каталога вашего шаблона. Кроме того, он должен заканчиваться на трейлинг /
.
Здесь я просто предположу, что каталог .../admin/
не является корнем вашего шаблона. Если вы все еще хотите писать абсолютные пути, вам следует убрать ссылку на каталог шаблона admin.
TEMPLATE_DIRS = (
'C:/django-project/myapp/mytemplates/'
)
С учетом сказанного, загрузчики шаблонов по умолчанию должны быть настроены на рекурсивный переход в каталоги приложений для поиска файлов шаблонов.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source',
# 'django.template.loaders.eggs.load_template_source',
)
Вам не нужно копировать шаблоны администратора, если только вы специально не хотите что-то перезаписать.
Вам нужно будет запустить syncdb, если вы еще не запускали его. Вам также нужно будет статически прописать на сервер ваши медиа файлы, если вы размещаете django через runserver.