django url 는 내가 어떠한 url 를 입력했을때 해당하는 view 를 보여달라고 지정을 할수가 있다.
path("<int:category_id>",ProductView.as_view()),
만약에 이렇게 지정하게 되면
http http:localhost:8000/1
입력하게 됬을때 , 데이터들이 보여주게 된다 .
하지만 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 을 밑에 두고 해결할 수도 있습니다.