template_dirs가 settings.py에서 누락되었습니다 (django 1.6)

StackOverflow https://stackoverflow.com/questions/20353880

  •  25-08-2022
  •  | 
  •  

문제

내가 읽고있다 http://www.djangobook.com/en/2.0/chapter04.html django 1.4를 따르는 것은 django 1.6을 사용하므로 django 1.6에서 템플릿 디렉토리를 설정하는 방법은 template_dirs 변수가없고 개발자가 이것을 변경 한 이유는 무엇입니까? 미리 감사드립니다.

도움이 되었습니까?

해결책

settings.py에 추가하십시오

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

다른 팁

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__))

Django 튜토리얼에 따르면 추가해야합니다TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]너의 ~에게 settings.py 파일 (따라서 a입니다 list 아니에요 tuple)

그것은해야한다

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

또는 다음과 같은 오류가 표시 될 수 있습니다.

감가 상각 : template_dirs 설정은 튜플이어야합니다. 자동 수정이 더 이상 사용되지 않으므로 설정을 수정하십시오.
self._wrapped = settings (settings_module)

django> = 1.6의 경우 a tuple

주어진 코드 스 니펫을 사용하십시오. settings.py 파일의 마지막에 붙여 넣습니다.

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

여기 BASE_DIR settings.py가있는 내부 디렉토리가 아닌 프로젝트 디렉토리를 의미합니다. 내부에 "템플릿"(인용없이)이라는 디렉토리를 만듭니다. BASE_DIR 템플릿을 해당 디렉토리 안에 보관하십시오. Django는 Templates 디렉토리에 가입합니다 BASE_DIR 사용 os.path.join() 기능. 도움이 되었기를 바랍니다.

내가 게시 한대로 https://stackoverflow.com/a/40145444/6333418 내부 Settings.py 템플릿 아래에있는 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