Вопрос

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

Это было полезно?

Решение

Добавить в настройки.py

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

Другие советы

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

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

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

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

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

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

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

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

Для django >= 1.6 это tuple

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

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

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

Как я опубликовал https://stackoverflow.com/a/40145444/6333418 Вы должны добавить его в список DIR, который находится внутри настройки.

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',
            ],
        },
    },
]
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top