django url 중복

BackEnd_Ash.log·2020년 5월 28일
0

django url 는 내가 어떠한 url 를 입력했을때 해당하는 view 를 보여달라고 지정을 할수가 있다.

path("<int:category_id>",ProductView.as_view()),

만약에 이렇게 지정하게 되면

http http:localhost:8000/1

입력하게 됬을때 , 데이터들이 보여주게 된다 .

하지만 url 경우 마음대로 지정을 하게되면 겹치게 된다.

url 겹치는 경우

    path("<int:category_id>",ProductView.as_view()),
    path("<int:product_id>"ProductDetailView.as_view()),

이렇게 해놓으면
category 보여줄때와 product 를 보여줄때 겹치게 된다 .
그래서 분리 해주는것이 좋다 .

다른경우를 보면

path("<str:product_name>",Product.as_view()),
path("search",Search.as_view()),

이러한 경우에서도 겹치게 된다.

http http://localhost:8000/search 

라고 입력을 했을때 , 이녀석은 내가 검색을 했는지 아니면 상품이름을 입력했는지 알 수 없기때문에 이것도 분리를 해줘야합니다.

순서로 해결

 path("search" ,SearchView.as_view()),
 path("<str:category_name>",ProductView.as_view()),

아니면 이렇게 고정적인 url 을 위에다 놓고
변하는 url 을 밑에 두고 해결할 수도 있습니다.

profile
꾸준함이란 ... ?

0개의 댓글