Django urldispatcher:将请求定向到特殊视图
Django urldispatcher: directing the request to special view
Django=3.0.8
urls.py
urlpatterns += [
path('<slug:categories>/', include('categories.urls', namespace="categories")),
]
categories/urls.py
urlpatterns = [
path('', CategoryGeneralView.as_view(), name='general'),
re_path(r'^(?P<type>novosti|tema)$/',CategorySpecialView.as_view(), name="type"),
path('draft/<slug:slug>/', PostDetailView.as_view(), name="draft_post_detail"),
path('<slug:slug>/', PostDetailView.as_view(), name="post_detail"),
]
问题
当我输入
- http://localhost:8000/windows/tema/
- http://localhost:8000/windows/novosti/
请求转到 PostDetailView。但我希望它转到 CategorySpecialView。
我怎样才能做到这一点?
为什么不只使用 2 个单独的路径,即:
path('novosti/', CategorySpecialView.as_view(), name = 'type'),
path('tema/', CategorySpecialView.as_view(), name = 'type'),
Django=3.0.8
urls.py
urlpatterns += [
path('<slug:categories>/', include('categories.urls', namespace="categories")),
]
categories/urls.py
urlpatterns = [
path('', CategoryGeneralView.as_view(), name='general'),
re_path(r'^(?P<type>novosti|tema)$/',CategorySpecialView.as_view(), name="type"),
path('draft/<slug:slug>/', PostDetailView.as_view(), name="draft_post_detail"),
path('<slug:slug>/', PostDetailView.as_view(), name="post_detail"),
]
问题
当我输入
- http://localhost:8000/windows/tema/
- http://localhost:8000/windows/novosti/
请求转到 PostDetailView。但我希望它转到 CategorySpecialView。
我怎样才能做到这一点?
为什么不只使用 2 个单独的路径,即:
path('novosti/', CategorySpecialView.as_view(), name = 'type'),
path('tema/', CategorySpecialView.as_view(), name = 'type'),