Django 2.0 的路由如何实现正则表达式

在django2.0的路由系统中,摒弃了1.x中的url,而改用path。需要导入path。

from django.urls import path,re_path

在1.x中,使用url()即可实现正则匹配,但是在2.0中,是否使用正则需要使用不同的方式。

path()无法使用正则;re_path()可以使用正则。

 

from django.urls import include, re_path

urlpatterns = [
    re_path(r'^index/$', views.index, name='index'),
    re_path(r'^bio/(?P<username>\w+)/$', views.bio, name='bio'),
    re_path(r'^weblog/', include('blog.urls')),
    ...
]

在上面这段代码中,讲讲第二个re_path,使用正则匹配的那部分字符串封装到了“username”,在后台的bio()函数中,必须带上这个参数,即bio(request,username).

 

posted @ 2019-02-21 11:36  小胡子oYi  阅读(435)  评论(0编辑  收藏  举报