Django

[장고] settings.py에서 템플릿 폴더 위치 지정 방법

QUERY 2021. 9. 15. 15:13

 

 

장고 템플릿 일괄 관리 방법

 

 

장고(django) 앱(app)들의 템플릿들(templates)을 일괄적으로 관리하는 방법에 대해 알아보겠습니다. 장고 프로젝트를 진행하다 보면, 앱 별로 많은 템플릿들을 제작하게 됩니다. 템플릿의 수가 적을 땐, 각각의 앱 안에 템플릿 폴더를 만들어서 관리해도 크게 상관없지만, 앱의 수가 많아지고, 템플릿의 수가 많아질 경우, 이 방법으론 그 많은 템플릿들을 일괄적으로 관리하기 까다로워집니다. 이때, 사용할 수 있는 방법이 있습니다. 바로 따로 폴더를 하나 생성한 뒤, 그 폴더에서 모든 앱들의 템플릿들을 일괄적으로 관리해주는 방법입니다. manage.py와 같은 레벨의 디렉터리에 'templates'라는 이름의 폴더를 만들고, 그곳에서 모든 앱의 템플릿들을 일괄적으로 관리할 수 있습니다. 그러면 특정 템플릿을 찾기 위해 앱 폴더들을 오르내리며 찾아 헤매는 수고를 덜 수 있습니다. 이 방법을 사용하려면, 장고에게 앱의 템플릿들을 한 곳에서 따로 관리하겠다는 사실을 알려줘야 합니다. 그 방법에는 크게 3가지 정도가 있는데, 다음과 같습니다. (※ 아래 사진자료들은 모두 settings.py 중, TEMPLATES를 세팅해주는 영역의 모습입니다.)


 

 

os.path.join 사용 방법

먼저, os를 사용하는 방법입니다. 장고의 최신 버전에서 이 방법을 사용하기 위해선, os를 import 해줘야 합니다. 따라서 settings.py의 제일 상단에 import os를 추가해줍니다. 뒤에 있는 'templates'는 템플릿들을 하나로 관리할 폴더의 이름입니다.

os.path.join을-사용하는-방법
os.path.join을 사용하는 방법


 

joinpath 사용 방법

다음은 BASE_DIR.joinpath를 사용하는 방법입니다.

BASE_DIR의-joinpath를-사용하는-방법
BASE_DIR의 joinpath를 사용하는 방법


 

간단한 방법

마지막으로 BASE_DIR와 폴더 이름만 설정해주면 되는 가장 간단하고 짧은 방법입니다.

오직-BASE_DIR만-사용하는-방법
BASE_DIR만 사용하는 방법

 

 

 


위 방법 중, 하나를 선택해 기본 폴더의 이름과 위치를 지정하신 뒤, 프로젝트 폴더 안에 'templates'라는 이름의 폴더를 생성하면 됩니다. 이 templates 폴더 안에 각각의 앱별로 앱 이름의 폴더들이 존재하고, 그 안에 각각의 앱에 필요한 템플릿들을 위치시키면 됩니다. (※ 경로: yourDjangoProject 폴더 > templates 폴더 > yourDjangoApp 폴더(들) > 각각의 앱별로 필요한 템플릿들)

 

이상으로 장고 앱들의 템플릿을 일괄적으로 관리하기 위해 settings.py에 기본 템플릿 폴더를 지정해주는 방법에 대해 알아보았습니다.

 

 

 

'Django' 카테고리의 다른 글

[장고] Static 폴더 설정 방법 (css, js, img 파일 정리)  (0) 2021.09.17