Путь шаблона Django

Я следую учебному курсу 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 из admin/base_site.html стандартных шаблонов Django по умолчанию в исходном коде самого Django (django / contrib / admin / templates) в подкаталог администратора каталога myapp в соответствии с инструкциями.

По какой-то причине, похоже, это не влияет. Есть ли какие-нибудь подсказки о том, что может быть проблемой? Должен ли я выполнять синхронизацию db?

  • Pandas читает csv как строковый тип
  • Загрузите таблицу из большого запроса в искровой кластер с помощью сценария pyspark
  • Исправить неупорядоченные ключи в JSON-подобном файле, чтобы он использовал правильный синтаксис JSON
  • pyodbc требует python 3.3
  • Построение кривой с эквидистантными (дуговыми) маркерами
  • Отправка пользовательских сигналов PyQt?
  • Сложенные гистограммы с использованием python matplotlib для положительных и отрицательных значений
  • Как запустить Python 3 в Sublime 2 REPL Mac
  • 4 Solutions collect form web for “Путь шаблона Django”

    Я знаю, что это не в учебнике 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/ не является вашим корнем шаблона. Если вы все еще хотите писать абсолютные пути, вы должны вывести ссылку на каталог шаблона администратора.

     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 через серверы.

    Если вы используете настройки Django в качестве установленного, то почему бы просто не использовать его испеченные, предопределенные BASE_DIR и ШАБЛОНЫ? В пипе, установленном Django (v1.8), я получаю:

     BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [ ### ADD YOUR DIRECTORY HERE LIKE SO: BASE_DIR + '/templates/', ], 'APP_DIRS': True, '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', ], }, }, ] 

    У меня также были проблемы с этой частью учебника (используется учебник для версии 1.7).

    Моя ошибка заключалась в том, что я только редактировал строку «администрирование Django» и не уделял достаточного внимания руководству.

    Это строка из django / contrib / admin / templates / admin / base_site.html :

     <h1 id="site-name"><a href="{% url 'admin:index' %}">{{ site_header|default:_('Django administration') }}</a></h1> 

    Но после некоторого времени и разочарования стало ясно, что есть оператор 'site_header или default: _', который следует удалить. Поэтому после удаления заявления (как в примере в руководстве все работало, как и ожидалось).

    Пример руководства:

     <h1 id="site-name"><a href="{% url 'admin:index' %}">Polls Administration</a></h1> 

    Для Django 1.6.6:

     BASE_DIR = os.path.dirname(os.path.dirname(__file__)) TEMPLATE_DIRS = os.path.join(BASE_DIR, 'templates') 

    Также статические и носители для режима отладки и производства:

     STATIC_URL = '/static/' MEDIA_URL = '/media/' if DEBUG: STATIC_ROOT = os.path.join(BASE_DIR, 'static') MEDIA_ROOT = os.path.join(BASE_DIR, 'media') else: STATIC_ROOT = %REAL_PATH_TO_PRODUCTION_STATIC_FOLDER% MEDIA_ROOT = %REAL_PATH_TO_PRODUCTION_MEDIA_FOLDER% 

    В urls.py вы должны добавить:

     from django.conf.urls import patterns, include, url from django.contrib import admin from django.conf.urls.static import static from django.conf import settings from news.views import Index admin.autodiscover() urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), ... ) urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

    В Django 1.8 вы можете установить шаблоны шаблонов, backend и другие параметры для шаблонов в одном словаре ( settings.py ):

     TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [ path.join(BASE_DIR, 'template') ], 'APP_DIRS': True, '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', ], }, }, ] 

    Официальные документы.

    Python - лучший язык программирования в мире.