티스토리 뷰

Web/Django

[Django]urls 분리

HAN_PY 2020. 6. 14. 01:44
반응형

편의성을 위해 app당 url을 따로 만들어서 관리를 할 예정이다.

app 이 여러개이 경우에 urls.py를 필수적으로 분리하여 관리하자.

ex) 게시판을 만들려면, 회원계정을 관리하는 app과 게시글을 관리하는 app를 나눠서 url 설정을 하자.

 

 

 


코드 예시

 

from django.contrib import admin

from django.urls import path, include

 

urlpatterns = [

    path('admin/', admin.site.urls),

    path('articles/', include('articles.urls'))

]

 

 


위는 프로젝트를 생성하면 있는 urls.py에 코드를 추가한 것이다. 기본적으로 include를 포함시킴으로 url분리를 할 수 있다.

 

path('articles/', include('articles.urls')) - articles라는 app의 urls.py으로 가라는 이야기다. articles라는 app 폴더에 urls.py를 생성 한 후에 아래와 같은 코드를 적었다.

 


from django.urls import path

from . import views

 

urlpatterns = [

    path('', views.article_list),

    path('create/', views.create_article),

    path('<int:article_pk>/', views.article_detail),

]

 


기본적으로 path뒤에 첫번째 인자는 'articles/'뒤에 추가되어 url 이 생성이 된다.

path('create/', views.create_article), - 이 부분의 url은 articles/create/ 라는 url이라고 생각하면 된다.

두번째 인자인 views.create_article는 views.py안에 있는 create_article이라는 함수를 불러오겠다는 말이다.

그리고 views에서 함수를 불러오기 위해서는 import가 필요하다.

따라서 from . import views를 적어준다. 이때 . 의 의미는 같은 디렉토리라는 말이다.(=같은 폴더)

반응형

'Web > Django' 카테고리의 다른 글

[Django]코딩을 위한 잡다한 추가 팁  (0) 2020.06.18
[Django] 참고 사이트  (0) 2020.06.16
[Django]settings.py  (0) 2020.06.13
6-2. [DTL] 템플릿 확장(base.html)  (0) 2020.05.06
6-1. [DTL] django template language  (0) 2020.05.05
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   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
글 보관함