홍카나의 공부방

[Django] TemplateDoesNotExist 에러 처리 방법 본문

Web/Django

[Django] TemplateDoesNotExist 에러 처리 방법

홍문관카페나무 2023. 1. 11. 01:19

 

일반적으로 널리 알려진 해결법은 다음과 같다.

 

1) 프로젝트 내 settings.py에서 INSTALLED_APPS list에 app의 이름을 추가해주는 것이다.

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'apps01'
]

# apps01 = 추가한 App 이름

 

2) templates 폴더의 이름을 확인한다.

-> template 등으로 의도치 않은 오타 발생 가능성이 있다.

 

3) urls.py에서 경로를 잘못 적지는 않았는지 다시 한 번 확인한다.

 

4) 만약 추가적으로 app을 하나도 만들지 않고 위와 같은 에러가 발생한 것이라면, 프로젝트 내 settings.py에 다음의 코드를 추가한다.

import os # import 부분에 추가

...

TEMPLATE_DIR = os.path.join(BASE_DIR, 'templates') # BASE_DIR 아래에 추가

...

TEMPLATES = [
    {
        "BACKEND": "django.template.backends.django.DjangoTemplates",
        "DIRS": [TEMPLATE_DIR], # DIRS 리스트에 해당 부분 추가
        "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",
            ],
        },
    },
]
반응형