django 1.8 TemplateDoesNotExist 오류
태그:
TemplateDoesNotExist 오류가 발생하는 원인은 다음과 같습니다.
1 파일 경로 오류
경로가 올바르게 설정되었는지 확인하는 해결 방법
2 TEMPLATE_DIR 값 부여 형식이 잘못되었습니다. 문자열을 자주 부여합니다. 정확한 것은 원조입니다.
해결책
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, ‘templates‘).replace(‘\\‘, ‘/‘),
)
3 이것이 본문의 중점이다. 이 버그에 몇 시간 동안 시달렸다
해결 방법:
건물주는 처음에 줄곧 위의 두 가지 잘못이라고 생각했지만 많은 방법을 시도했지만 여전히 안 된다. 예를 들어 절대적인 경로로 바꾸거나 예를 들어 원조를 사용하지 않지만 아무리 고쳐도 안 된다.
Djang 버전 문제라는 것을 깨닫지 못했기 때문에 Stackoverflow에서Template Does NotExist에 관한 문제를 하나하나 보았습니다.
우연히 발견한 대답, 링크 첨부: Template Does NotExist in Project folder django 1.8
건물주 환경은 Ubuntu 아래 Python 3.4 Django 1.8입니다.
Django 1 발견8, 템플릿을 로드할 경로를 설정할 때 TEMPLATE 를 직접 정의하지 않습니다.DIR - 값을 지정합니다.
대신 TEMPLATE에 DIR 값을 추가하여
#settings.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATES = [
{
‘BACKEND‘: ‘django.template.backends.django.DjangoTemplates‘,
‘DIRS‘: [os.path.join(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‘,
],
},
},
]
django 1.8 TEMPLE_DIR和STATICFILES_DIRS配置
django 1.6后settings.py文件中没有了TEMPLATE_DIRS模板目录和STATICFILES_DIRS静态访问目录,需要手动添加,最近也遇到这个问题,把解决办法说一下
1.环境
系统:ubuntu
django版本:Django-1.8.4.tar.gz
2.settings.py配置文件说明
增加了一下内容
import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
base_dir는 프로젝트 프로젝트의 디렉터리이고 프로젝트 디렉터리의 다음 단계는 응용 앱의 디렉터리,os.path.dirname(__file__):settings.py 파일이 있는 디렉터리입니다.
3. TEMPLATE 를 나타냅니다.DIRS 경로, 아래 코드를 찾으십시오. 빨간색 부분은 추가된 TEMPLATE 디렉터리입니다. 기본값은 빈 목록입니다.TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', #'BACKEND': '/root/day10/s4web/templates', 'DIRS': [os.path.join(BASE_DIR,'templates').replace('\\', '/'),], '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', ], }, }, ]
사실 뒤에 있는 Replace ('\', '/') 는 추가하지 않아도 됩니다. 이 구절은 윈도우즈에서 '\' 를 '/' 로 변환하는 데 사용됩니다.
4.STATICFILES_DIRS 설정도 비교적 간단합니다. 바로 settings에 있습니다.py의 끝부분에 아래 코드를 더하면 된다STATICFILES_DIRS = (os.path.join(BASE_DIR,'static'),)
5. 구성이 완료되었습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.