TemplateDoesNotExist(해결법) - 다 해봐도 안된다면?

 

Django templates 폴더에 html 파일 넣어서 연결해봤더니 TemplateDoesNotExist 오류가 ?!!

구글링해서 해결법 다 해봤는데 안돼서 이 방법으로 하니까 됐다

 

필자 해결 방법

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        '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',
            ],
        },
    },
]

DIRS 가 비어있는데 이부분을 채워줘야 한다.

 

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATE_DIR = os.path.join(BASE_DIR, 'templates')

일단 TEMPLATE_DIR 선언을 하고

 

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [TEMPLATE_DIR],
        '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',
            ],
        },
    },
]

비어있던 DIRS 안에 변수를 넣어준다

 

보편적인 해결법

1. INSTALLED_APPS 에 우리가 추가한 APP 선언

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

# mysite ⇒ 우리가 추가한 App 이름

 

2. templates 폴더 이름 확인

 

3. 경로 확인

반응형

'🐍 Python > 🤠 Django' 카테고리의 다른 글

Django CORS 에러 처리하기  (0) 2021.12.31