티스토리 뷰

Web/Django

[Django] URL 변수화

HAN_PY 2020. 7. 9. 22:11
반응형

url의 변수화하는 이유는 app에 따라 urls.py를 생성한다. 이떄 url이 중복 되는 경우가 발생할 수 도 있다. 따라서 app_name을 지정하고 각각의 path에 name을 지정함으로 이러한 문제를 방지한다.

url이 복잡해 질 수 있다. 따라서 아래의 urls.py와 같이 변수화를 진행한다. 

 

 


from django.urls import path

from . import views

 

app_name = 'posts'

 

urlpatterns = [

    path('', views.index, name='index'),

    path('create/', views.create, name='create'),

    path('<int:pk>/', views.detail, name='detail'),

    path('<int:pk>/delete/', views.delete, name='delete'),

    path('<int:pk>/update/', views.update, name='update'),

    path('<int:pk>/comments/', views.comments_create, name='comments_create'),

]


app_name = 'posts'

이부분은 app이름으로 변수화를 시켜준다. app_name을 변수화 해주면 아래의 urlpattern부분의 name이 다른 app과 중복되더라도 오류가 발생하지 않는다.

 

예시

<a href="{% url 'posts:index' %}">

<a href="{% url 'posts:delete' article.pk %}">  - 만약 pk값이 여러개라면 순서에 맞에 article.pk뒤에 적어주면된다.

 

redirect(f'/articles/{ article.pk }')

redirect{'articles:detail', article.pk}      -      app이름을 적고 값을 적어주면된다.   

반응형

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

[Django] CRUD_READ_목록페이지 구현  (0) 2020.07.12
[Django] CRUD_CREATE  (0) 2020.07.10
[Django] HTTP+ GET과 POST  (0) 2020.07.08
[Django] 프로필 이미지 구현_gravatar (python코드의 확장)  (0) 2020.07.08
[Django] bootstrap  (0) 2020.07.06
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
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
글 보관함