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"
原文地址:https://www.cnblogs.com/dbutil/p/9584391.html