1.使用默认路由传参
- 要从 URL 中捕获值,请使用尖括号。
- 捕获的值可以选择包含转换器类型。例如,用于 <int:name>捕获整数参数。如果不包括转换器/,则匹配任何字符串,不包括字符。
1.1默认情况下可以使用以下路径转换器
- str- 匹配任何非空字符串,不包括路径分隔符’/’. 如果表达式中不包含转换器,则这是默认设置。
- int- 匹配零或任何正整数。返回一个int。
示例:
urlpatterns = [
...
path('articles/<int:year>/', views.year_archive),
...
]
2.使用正则表达式进行路由传参
-
如果路径和转换器语法不足以定义您的 URL 模式,您还可以使用正则表达式。为此,请使用 re而不是path().
-
在 Python 正则表达式中,命名正则表达式组的语法是(?P<name>pattern),其中name是组的名称, pattern是要匹配的某种模式。
示例:
urlpatterns = [
...
re(r'^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$',
...
]