티스토리 뷰

django

django / url 관리

4567은 소수 2020. 12. 4. 04:07

우선 로그인과 관련된 기능을 만들기 앞서 url 관리에 대해 살펴봅시다. 

로그인과 관련된 app (accounts)을 하나 더 만들 예정인데 여기서 project1/urls.py 에 siteapp, accounts와 관련된 url이 여러 가지 섞여있으면 복잡합니다. 

 

그렇기 때문에 url 관리를 위해 다음과 같은 단계를 거칩니다.

(아직 accounts는 만들지 않았기에 siteapp만을 이용하여 설명하겠습니다.)

 

1. siteapp에 urls.py를 만든다

from django.contrib import admin
from django.urls import path
from . import views

urlpatterns = [
  path('',views.home, name="home"),
  path('detail/<int:post_id>',views.detail, name="detail"),
]

그리고 지금 detail을 불러올 view밖에 없으므로 위와 같이 적어줍니다. 

첫번째, 두번째 줄의 import로 project의 urls.py에 기본적으로 있던 것들을 가져와주고, 같은 app의 views.py를 불러와야하므로 세번째 줄처럼 적습니다. 추가로 자신이 import가 필요한 module이 있으면 그것을 import 하면 됩니다.

 

그리고 project의 urls.py에 있던것과 마찬가지로 urlpatterns 라는 배열에 path값을 지정해줍니다. 

 

2.  프로젝트의 urls.py를 수정한다.

from django.contrib import admin
from django.urls import path, include
import siteapp.views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('siteapp.urls')),
]

위와 같이 기존에 siteapp의 views를 불러올 url을 include('siteapp.urls') 라는 것을 통해 기본 url 뒤에 siteapp.urls.py에서 지정한 url로 넘겨주는 역할을 하게됩니다. 여기서 include 라는 모듈을 import 해주어야 합니다.

 

이제 여러 앱을 사용할 때 지저분하게 보이지 않을 수 있습니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함