반응형
app 단위별로 url을 정리하는 이유
- django로 프로젝트를 진행하다보면 상당히 많은 url들이 생긴다.
- 각 url은 각 app들의 views와 연결되기 때문에 프로젝트 규모가 커질수록 상당히 처리하기 복잡해진다.
- 따라서 각 app과 관련된 url(각 app의 views.py와 연결되는 url)들만 따로 정리하는 것이 좋다.
app 폴더들에 urls.py 생성
- 먼저 각 app들의 폴더에 urls.py 파일을 만든다. 그리고 아래와 같이 작성한다.
from django.urls import path
from . import views
urlpatterns = [
]
- 이 곳에 필요한 url들을 작성하게 될 것이다. 해당 app 폴더 내의 views를 사용할 것이기 때문에 'from . import views'도 작성해주었다.
프로젝트 폴더내 기존 urls.py 수정
- 'from django.urls import include'를 작성해 활용한다.
from django.contrib import admin
from django.urls import path
from django.urls import include
urlpatterns = [
path('admin/', admin.site.urls),
path('join/', include('join.urls')),
path('team/', include('team.urls')),
path('study/', include('study.urls'))
]
- 관련 url을 확인할 때 바로 views의 메소드를 처리하는 것이 아니라 우선 각 폴더의 urls을 한 번 더 건너 확인하도록 한다.
- 위 코드의 경우 'join/', 'team/', 'study/' 에 해당하는 url을 각 폴더의 urls.py에서 참고하도록 한 것이다.
각 urls.py 수정
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index')
]
- 각 app 폴더에 생성해줬던 urls.py에 최종적으로 참고할 views의 메소드를 기입해준다.
- include에서 미리 참고했던 주소('join/', 'team/', 'study/' 에 해당하는 부분)은 표기해줄 필요 없다.
반응형
'🛠 기타 > WEB' 카테고리의 다른 글
django 기초 - model에서 이미지 사용하기 (0) | 2020.09.14 |
---|---|
django 기초 - templates 관리하기 (base.html) (0) | 2020.09.13 |
django 기초 - CSS파일 연결하기 (0) | 2020.08.24 |
django 기초 - 확인메세지(onclick) (0) | 2020.08.24 |
django 기초 - model 데이터 삭제 / 수정 (0) | 2020.08.24 |