Chiawei的编程技术专辑我爱编程python学习笔记

django1.X路由的url与2.X路由path语法理解区别

2018-06-28  本文已影响0人  NewForMe
引用路径的区别:
引入正则的区别:
urlpatterns = [
    url('index-(\d+)-(\d+).html',views.index),
    url('index-(?P<article_type_id>\d+)-(?P<category_id>\d+).html',views.index)
]
#url请求地址为:http://127.0.0.1:8000/index-1-1.html

urlpatterns = [
    path('index-<int:article_type_id>-<int:category_id>.html',views.index),
]
#url请求地址为:http://127.0.0.1:8000/index-1-1.html

在Python正则表达式中,命名式分组语法为 (?P<name>pattern) ,其中name为名称, pattern为待匹配的模式。这个与1.X的用法差不多,就是将1.X的url,改为re_path,
例子:

urlpatterns = [
    path('articles/2003/', views.special_case_2003),
    re_path('articles/(?P<year>[0-9]{4})/', views.year_archive),
    re_path('articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/', views.month_archive),
    re_path('articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<slug>[^/]+)/', views.article_detail),
]
上一篇 下一篇

猜你喜欢

热点阅读