假设我views.py
包含多个打算深入url路径的视图。
urlpatterns = [
path('<int:table_pk>/order/', views.menu_category_view, name='menu_category_view'),
path('<str:menu_category>/', views.menu_item_view, name='menu_item_view'),
]
第一个视图的路径生成为<int:table_pk>/order/
。如果我希望第二个视图具有以下路径<int:table_pk>/order/<str:menu_category>/
,我应该如何以DRY方式传递变量(在视图和/或模板中)?如果我有更多路径级别需要以相同的方式扩展其上方的路径怎么办?
您可以使用include(…)
子句[Django-doc]:
from django.urls import include
urlpatterns = [
path('<int:table_pk>/order/', include([
path('', views.menu_category_view, name='menu_category_view'),
path('<str:menu_category>/', views.menu_item_view, name='menu_item_view'),
]))
]
在path(…)
之前的include(…)
是这样两个共同path(…)
的包裹在列表小号include(…)
。
因此,您可以使用来构建层次结构,include
其中path(…)
可以将a换成include(…)
另一个的path(…)
,等等。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句