Django2.0 path与Django1.x url的总结

我理解的path就是跟简单的url路由语法。那么简单的地方在哪呢?

在我写出这行代码时

path("r'^articles/2003/$',views.special_2003")
  
  

产生了以下错误

.经过查找发现path不支持正则匹配。只有这样写才是对的


  
  
  1. from django.conf.urls import url
  2. url( r'^articles/2003/$',views.special_2003)

那为什么path不可以正则呢?path有啥用?path如何写才能对?

答案是:path不是不能用正则而是要调用django.urls.re_path()函数,来使用正则。


  
  
  1. from django.urls import re_path
  2. re_path( r'^articles/2003/$',views.special_case_2003)

这是就和url的效果相同了。

那path有啥用?

在动态路由Django.url.path函数,允许使用更加简洁的语法在旧版本中如下表示:


  
  
  1. def special_200(seq,year):
  2. year = int(year)
  3. return HttpResponse(year)
  4. url( r'^articles/(?P<year>[0-9]{4})/$',views.special_2003)

而在path中可以更加简洁的表示为:


  
  
  1. from django.urls import path
  2. 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)

发布了24 篇原创文章 · 获赞 30 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/yufen9987/article/details/88424828