Подтвердить что ты не робот

TEMPLATE_DIRS отсутствует в settings.py(django 1.6)

Я читаю http://www.djangobook.com/en/2.0/chapter04.html, который следует за Django 1.4, но я использую Django 1.6, поэтому как установить каталог шаблонов в Django 1.6 в качестве настроек. py не имеет переменной TEMPLATE_DIRS и почему разработчики изменили это? Спасибо заранее.

4b9b3361

Ответ 1

Добавить в settings.py

from os.path import join
TEMPLATE_DIRS = (
    join(BASE_DIR,  'templates'),
)

Ответ 2

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

Добавьте это в settings.py. В django 1.6 BASE_DIR определено. В противном случае определите BASE_DIR как

import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))

Ответ 3

Согласно учебнику Django, вы должны добавить TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')] в файл settings.py(так что это list не a tuple)

Ответ 4

Это должно быть

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

Или вы можете увидеть ошибку, подобную этой:

Устаревшее предупреждение: параметр TEMPLATE_DIRS должен быть кортежем. пожалуйста исправить свои настройки, так как автоматическая коррекция устарела.
self._wrapped = Настройки (settings_module)

Для django >= 1.6 это tuple

Ответ 5

Используйте приведенный ниже фрагмент кода. Вставьте его в последний файл settings.py.

from os.path import join
TEMPLATE_DIRS = (
    join(BASE_DIR,  'templates'),
)

Здесь BASE_DIR означает ваш каталог проекта, а не внутренний каталог, где находится параметр settings.py. Создайте каталог с именем "templates" (без кавычек) внутри BASE_DIR и сохраните ваши шаблоны внутри этого каталога. Django присоединится к каталогу шаблонов к BASE_DIR с помощью функции os.path.join(). Надеюсь, это поможет.

Ответ 6

Когда я разместил fooobar.com/info/411104/..., вы должны добавить его в список DIR, который находится внутри settings.py в разделе TEMPLATES.

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['[project name]/templates'], # Replace with your project name
        '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',
            ],
        },
    },
]