-
django.template.exceptions.TemplateDoesNotExist 오류개발 2024. 2. 16. 11:38
django로 프로젝트를 시작해 보자.
우선 설치한다.
pip install django
프로젝트를 만든다.
django-admin startproject cctv_dashboard
앱을 만든다.
python manage.py startapp member
이제 앱에 간단한 페이지를 만들어 보자.
settings.py 에 앱을 추가한다.
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'member' ]
여기에서는 'member'를 추가했다.
member 앱 안에 있는 views.py에 코드를 추가한다.
from django.shortcuts import render def index(request): return render(request, 'member/index.html')
위 index.html 파일을 만들어 보자
우선 member 앱 안에 templates 디렉토리를 만든다.(템플릿을 위한 디렉토리로 철자를 조심한다.)
그 안에 member 디렉토리를 만들고 간단하게 index.html 을 만든다.
member 앱안에 urls.py를 새로 만들어 맵핑을 위한 코드를 넣는다.
# urls.py from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index') ]
마지막으로 프로젝트 안의 urls.py에 위 url을 추가한다.
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('member.urls')) ]
이제 서버를 띄어보자.
python manage.py runserver
서버가 잘 뜬다.
이제 만든 페이지를 호출해보자.
오잉? 잘 뜨네? 분명 django.template.exceptions.TemplateDoesNotExist가 났었는데 잘 되네?
전에 장고로 프로젝트를 만들었을 때 위와 같이 하면 잘 됐다. 그런데 이번에 다시 해보니 위 오류가 나왔다.
해결한 방법은 settings.py에 'TEPLATE_DIR'을 정의하고 이를 'TEMPLATES'안에 추가했더니 잘 동작하는 것을 확인했다.
# settings.py BASE_DIR = Path(__file__).resolve().parent.parent TEMPLATE_DIR = os.path.join(BASE_DIR, 'templates') 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', ], }, }, ]
settings.py가 이전에 했던 프로젝트의 settings.py 구조가 조금 달라져 있길래 버전업하면서 템플릿 위치를 이제는 지정해야하는가? 생각하고 글을 작성중인데, 다시 위 TEMPLATE_DIR 부분을 삭제하고 재기동해도 그냥 잘 되었다.
뭘까?
아무것도 조작할 필요없이 원래대로 그냥 잘 되네...
그냥... 그렇다구...
반응형'개발' 카테고리의 다른 글
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools (0) 2024.03.08 onvif.exceptions.ONVIFError: Unknown error: The security token could not be authenticated or authorized (0) 2024.02.29 화분 급수시스템을 위한 몇 가지 테스트 (0) 2023.06.30 셀레니엄(selenium) (0) 2023.04.05 Ubuntu 18.04 크론 오류 해결 (0) 2023.03.24