개발자/파이썬

Python/Django TemplateDoesNotExist 에러 처리 방법!!

june__kim 2021. 5. 31. 00:57

 

최근 Django project를 하며 두들겨 맞고 있는데

 

이상하게 정말 자주 보이는 에러가 있다!

 

 

Django에 대해 잘 몰라서 발생하는 경우가 많았는데 오늘은 간략하게 이 에러에 대한 대처 방법을 다뤄보려고 한다.

 

일단 기본적인 것(?)은 알고 있다고 생각을 하고

 

Django document에서는 Project를 mysite, App을 polls라고 하는데

 

나는 Project를 d04, App을 ex01이라고 부르겠다.

 

 

첫 번째로는, Package(== 위의 그림에서 d04)에 존재하는 settings.py을 살펴봐야 한다.

 

 

이 파일안에 INSTALLED_APPS라는 변수가 있는데, 여기에 우리가 추가한 App들을 넣어줘야 한다.

 

가끔 까먹는 경우가 있으니, 에러가 난다면 확인해보면 좋을 듯 하다.

 

두 번째로는, 좀 어이 없을 수도 있는데

 

어느정도 문서를 보고 찾아봤다면 알텐데, App안에 templates폴더를 만들고 거기에 템플릿들을 넣어놔야한다.

 

이때, "templates" 폴더의 이름을 한 번만 더 확인해보자...

(혹시 template이 아닌지..ㅋㅋㅋ)

 

 

에러가 뜨길래 찾아보다가, 어떤 분이 template에 s 제대로 붙였냐고 물어보길래

 

설마 했는데,, 진짜 그런 실수를 하더라.

 

 

세 번째로는, 경로 지정시에 주의해야 하는데

 

 

render의 경우, 파라미터로 받는 형식이 아래와 같은데

render(request, template_name, context=None, content_type=None, status=None, using=None)

 

이렇게 파라미터 자리에 template name이 들어가야하는 곳에는 App의 경로까지 포함을 해줘야한다. (ex. app dir/__.html)

 

사실 이건 경험적으로 알게 된거라서 어떤 문서에서 언급된 것을 직접적 보진 못했다.

 

 

혹시 이 에러가 난다면 이 세 가지 모두를 한 번도 고쳐본다면 분명 하나쯤은 해결책이 있을 거라고 생각한다.