我理解的path就是跟简单的url路由语法。那么简单的地方在哪呢?
在我写出这行代码时
path("r'^articles/2003/$',views.special_2003")
产生了以下错误
.经过查找发现path不支持正则匹配。只有这样写才是对的
-
from django.conf.urls
import url
-
url(
r'^articles/2003/$',views.special_2003)
那为什么path不可以正则呢?path有啥用?path如何写才能对?
答案是:path不是不能用正则而是要调用django.urls.re_path()函数,来使用正则。
-
from django.urls
import re_path
-
re_path(
r'^articles/2003/$',views.special_case_2003)
这是就和url的效果相同了。
那path有啥用?
在动态路由Django.url.path函数,允许使用更加简洁的语法在旧版本中如下表示:
-
def special_200(seq,year):
-
year = int(year)
-
return HttpResponse(year)
-
url(
r'^articles/(?P<year>[0-9]{4})/$',views.special_2003)
而在path中可以更加简洁的表示为:
-
from django.urls
import path
-
path(
"r'articles/<int:year>/',views.special_2003")
path参数的使用方法path(/articles<str:string>/),尖括号里str代表参数类型,后者代表的参数名称
转载自[https://blog.csdn.net/qq_40760617/article/details/83067401](https://blog.csdn.net/qq_40760617/article/details/83067401)