2013-05-16 3 views
0

Я прошел учебник Django - https://docs.djangoproject.com/en/1.3/intro/tutorial02/ В конце они попросили нас изменить имя шаблона веб-страницы по умолчанию из «Администрации Django» на что-либо еще, выполнив следующие шаги. 1) Скопируйте файл base_site.html из папки django по умолчанию в каталог администратора, указанный в TEMPLATE_DIRS. В настоящее время мой TEMPLATE_DIRS выглядит -не удалось изменить шаблон django по умолчанию

TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". 
# Always use forward slashes, even on Windows. 
# Don't forget to use absolute paths, not relative paths. 
"/home/mysite/polls/mytemplates" 
) 

Я также скопировал каталог шаблонов администратора/дома/MySite/опросы/mytemplates

Так структура что-то вроде этого /дома/MySite/опросов/mytemplates/admin , где папка администратора содержит base.html и base_site.html

Я редактировал заголовок в файле base_site.html, но все же, когда я запускаю django, он показывает мне заголовок шаблона по умолчанию.

Может кто-нибудь сказать мне, что мне не хватает?

+1

Можете ли вы проверить, является ли 'django.template.loaders.filesystem.Loader' первым в настройке' TEMPLATE_LOADERS'. – tuxcanfly

+0

@tuxcanfly Да. оно делает. Проверьте ниже TEMPLATE_LOADERS = ( 'django.template.loaders.filesystem.Loader', ' django.template.loaders.app_directories.Loader', # 'django.template.loaders.eggs.Loader', ) – Neil

+0

Вы отсутствует запятая: ''/home/mysite/polls/mytemplates ",' –

ответ

1

В вашем каталоге шаблонов не должно быть имени вашего приложения. Django автоматически добавит любой каталог с именем templates, который является частью любого приложения, указанного в INSTALLED_APPS. Вот почему ваш пользовательский шаблон администратора не работает.

Первое, что вы должны сделать, это переименовать /home/mysite/polls/mytemplates в templates:

mv /home/mysite/polls/mytemplates /home/mysite/polls/templates 

Далее, вы должны иметь:

TEMPLATE_DIRS = ('/home/mysite/templates',) 

Тогда ваши шаблоны администратора должны быть в /home/mysite/templates/admin/

As для запятой: одна строка в скобках является просто строкой, но с запятой она становится кортежем. Установка TEMPLATE_DIRS является кортежем, поэтому вам нужно, что лишняя запятая:

>>> a = ('hello') 
>>> type(a) 
<type 'str'> 
>>> a = ('hello',) 
>>> type(a) 
<type 'tuple'> 
+1

я переименовал его в шаблоны TEMPLATE_DIRS = ( '/ дома/MySITE/шаблоны', ) папка администратора лежит в/главная/MySite/шаблоны /. Еще не работает :( – Neil

1

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

+0

Это решило мою проблему, но кто-нибудь знает причину? – Yeke

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