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

Posted xiaohuyi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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).

 

以上是关于Django 2.0 的路由如何实现正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

Django 2.0 尝试使用正则表达式获取主键,但我得到 404

Flask自定义转换器,实现路由匹配正则表达式参数

Django - 路由控制

Django路由配置

Django之 路由系统

Django的URL路由