본문 바로가기
Django

views.py 여러 개 파일로 분리하기 1 - django

by zgabriel 2024. 7. 9.
728x90

views.py에 모든 함수를 넣다보면 분리해 줘야하는 시점이 온다.

 

이럴 경우 아래와 같이 분리를 진행하면된다. 

 

- views 폴더를 생성

- views.py에 있는 함수들을 기능별로 분리해서 신규 생성한 views 폴더에 저장한다 (a_views.py, b_views.py, c_views.py ...)
 . 신규 생성한 view 파일들의 import 문은 파일의 위치가 변경되었으므로 수정해줘야한다
  예) from .models  -> from ..models

- __init__.py 파일을 views 폴더에 생성
 . 여러개로 분리한 view 파일들을 모두 import 해준다
   from .a_views import *
   from .b_views import *
   from .c_views import *
 . views 디렉토리에 있는 모든 뷰 파일을 import 했기 때문에 urls.py와 같은 다른 파일은 수정하지 않아도 된다

- views.py는 삭제

 

- 단점

장고는 디버깅시 보통 urls.py 파일에서 URL에 매핑된 함수를 찾는것으로 시작한다.

하지만 이 방법을 사용하면 urls.py 파일에 매핑된 함수명은 알수 있지만 어떤 뷰 파일의 함수인지는 알 수가 없다.

이는 views 디렉터리의 모든 뷰 파일을 찾아봐야 하는 불편함을 초래하게 한다.

만약 이 방법을 사용하고 싶다면 혼자서 프로젝트를 진행하는 경우가 적당할 것 같다.

 

 

반응형