django

공통으로 사용하는 templates나 static은 프로젝트 폴더로 뺄 수 있다

발전생 2020. 12. 17. 19:13

하나의 기능을 하는 app 폴더 내에서 templates나 static 폴더를 만들어서 사용하면 따로 설정해줄 게 없다. 

settings.py를 안 고치는 이상 django는 자체적으로 app directory에서 templates 폴더도 찾고 static 폴더도 찾는다.

 

하지만 여러 app에서 공통으로 사용하고자 한다면 재사용을 위해 프로젝트 폴더(최상단)로 빼주는 게 좋다.

이 경우 프로젝트의 settings.py에서 코드를 추가해 줘야 한다.

 

templates를 최상단에서 사용하고자 할 경우

'DIRS' key에 [BASE_DIR / 'templates']를 넣어줘야 한다. 원래는 빈 리스트이다.

이 한 줄로 인해 django는 BASE_DIR(최상단 디렉토리)에서 templates 폴더를 찾아보게 된다.

기본적으로 'APP_DIRS' 키 값이 True이기 때문에 app 폴더 내의 templates 폴더를 찾을 수 있다.

 

static 폴더를 최상단에서 사용하고자 할 경우

이런 구조를 갖게 될 것이다. 

 

추가해야 하는 코드는 아래와 같다.

이 코드를 마찬가지로 settings.py에 추가해주면 된다.

s가 많이 붙으니 주의할 것.

이름이 틀리면 static 파일에서 로드를 못 해오니 css도, javascript도, image도 load 하지 못 한다.

 

도대체 이게 무슨 문법이야?

settings.py 파일 상단에 보면 친절하게 주석 처리 되어 있다. (django 프로젝트 만들면 다 적혀있다.)

쓰라는 대로 쓰면 된다.

 

참고 자료

https://www.youtube.com/watch?v=9aEsZxaOwRs&list=PL-51WBLyFTg2vW-_6XBoUpE7vpmoR3ztO&index=3

'django' 카테고리의 다른 글

여러 개의 form을 만들어주는 formset  (0) 2020.12.19
CRUD를 위한 ModelForm  (0) 2020.12.19
model 관계(데이터베이스)  (0) 2020.12.18
model을 만들면 해줘야 하는 일  (0) 2020.12.17
django url pattern  (0) 2020.12.17