django 2.0配置url捕获参数
举例:
from django.urls import path from . import views urlpatterns = [ path('articles/2018/', views.special_case_2003), path('articles/<int:year>/', views.year_archive), path('articles/<int:year>/<int:month>/', views.month_archive), path('articles/<int:year>/<int:month>/<slug:slug>/', views.article_detail), ]
注意:
1.要捕获一段url的值,需要使用尖括号<>
2.尖括号里面可以转换捕获值为指定类型,比如int 。不指定默认情况下保存为 字符串 。
解释:
- /articles/2005/03/ 将匹配第三条,并调用views.month_archive(request, year=2005, month=3);
- /articles/2018/匹配第一条,并调用views.special_case_2003(request);
- /articles/2018将一条都匹配不上,因为它最后少了一个斜杠,而列表中的所有模式中都以斜杠结尾;
- /articles/2003/03/building-a-django-site/ 将匹配最后一个,并调用views.article_detail(request, year=2003, month=3, slug="building-a-django-site"