반응형
SMALL

Django 오류: 'TemplateDoesNotExist'

Django를 사용하다 보면 다양한 오류를 만나게 됩니다. 그 중에서도 'TemplateDoesNotExist' 오류는 꽤 자주 발생할 수 있는 문제인데요. 이번 글에서는 이 오류가 무엇인지, 왜 발생하는지, 그리고 어떻게 해결할 수 있는지에 대해 알아보겠습니다.

오류 메시지 소개

'TemplateDoesNotExist'는 Django에서 흔히 발생하는 오류 중 하나입니다. 보통 다음과 같은 메시지로 나타납니다:

django.template.exceptions.TemplateDoesNotExist: 'your_template.html'

이 오류는 Django가 요청한 템플릿 파일을 찾을 수 없을 때 발생합니다. PHP로 비유하자면, 404 오류와 비슷한 느낌입니다. 요청한 파일이 존재하지 않는다는 뜻이죠.

발생 원인

'TemplateDoesNotExist' 오류는 주로 다음과 같은 이유로 발생합니다:

  • 템플릿 경로 오류: 템플릿 파일의 경로가 잘못 설정되었거나, 파일 이름이 잘못되었습니다.
  • INSTALLED_APPS 설정 오류: 템플릿이 포함된 앱이 INSTALLED_APPS에 등록되지 않았습니다.
  • TEMPLATES 설정 오류: TEMPLATES 설정에서 DIRS가 올바르지 않거나, APP_DIRS가 True로 설정되지 않았습니다.

해결 방법

이제 이 오류를 해결하기 위한 몇 가지 방법을 살펴보겠습니다:

1. 템플릿 경로 확인

템플릿 파일의 경로가 올바른지 확인하세요. settings.py의 TEMPLATES 설정에서 DIRS 항목을 확인하고, 템플릿 파일이 실제로 해당 경로에 존재하는지 체크합니다.

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',
            ],
        },
    },
]

2. INSTALLED_APPS 설정 확인

템플릿이 포함된 앱이 INSTALLED_APPS에 등록되어 있는지 확인하세요. 만약 등록되지 않았다면, 다음과 같이 추가합니다:

INSTALLED_APPS = [
    ...,
    'your_app_name',
]

3. 파일 이름 및 경로 검토

템플릿 파일의 이름과 경로가 정확히 일치하는지 확인합니다. 작은 오타 하나로도 오류가 발생할 수 있습니다.

코드 예제

다음은 'TemplateDoesNotExist' 오류를 피하기 위한 기본적인 설정 예시입니다:

# settings.py

import os

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',
            ],
        },
    },
]

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

위와 같은 설정으로 'TemplateDoesNotExist' 오류를 예방할 수 있습니다. 실무에서 자주 마주치는 이 오류를 빠르게 해결하여, 개발 시간을 절약해 보세요!

📚 함께 읽으면 좋은 글

1

Django 'NoReverseMatch' 오류 해결하기

📂 django 오류 해결 📅 2025. 6. 27. 🎯 django 오류
2

Django에서 '500 Internal Server Error' 해결하기

📂 django 오류 해결 📅 2025. 6. 25. 🎯 django 오류
3

Django 'ModuleNotFoundError: No module named' 오류 해결하기

📂 django 오류 해결 📅 2025. 6. 7. 🎯 django 오류
4

Go 언어의 'undefined' 오류 해결하기

📂 go 오류 해결 📅 2025. 6. 22. 🎯 go 오류
5

Go 오류: 'undefined: fmt.Println' 해결하기

📂 go 오류 해결 📅 2025. 6. 14. 🎯 go 오류

💡 위 글들을 통해 더 깊이 있는 정보를 얻어보세요!

📢 이 글이 도움되셨나요? 공유해주세요!

여러분의 공유 한 번이 더 많은 사람들에게 도움이 됩니다 ✨

🔥 공유할 때마다 블로그 성장에 큰 힘이 됩니다! 감사합니다 🙏

💬 여러분의 소중한 의견을 들려주세요!

django 오류에 대한 여러분만의 경험이나 노하우가 있으시나요?

💡
유용한 정보 공유
궁금한 점 질문
🤝
경험담 나누기
👍
의견 표현하기

⭐ 모든 댓글은 24시간 내에 답변드리며, 여러분의 의견이 다른 독자들에게 큰 도움이 됩니다!
🎯 건설적인 의견과 경험 공유를 환영합니다 ✨

🔔 블로그 구독하고 최신 글을 받아보세요!

📚
다양한 주제
17개 카테고리
정기 업데이트
하루 3회 발행
🎯
실용적 정보
바로 적용 가능
💡
최신 트렌드
2025년 기준

🌟 django 오류 해결부터 다양한 실생활 정보까지!
매일 새로운 유용한 콘텐츠를 만나보세요 ✨

📧 RSS 구독 | 🔖 북마크 추가 | 📱 모바일 앱 알림 설정
지금 구독하고 놓치는 정보 없이 업데이트 받아보세요!

반응형
LIST

+ Recent posts