django的url反向解析

就是Django会用你设定的url捕获规则(正则表达式)去反向生成一个url,生成的这个url仍然能满足你设定的规则,比如设定如下捕获规则:

1 urlpatterns = [
2     re_path(r"^dynamic\w{2}/\w\d+/", views.dynamic, name="dynamic"),
3 ]

在模板文件中用如下模板标签去接收反向生成的url:

1 <a href="{% url "dynamic" %}">dynamic连接</a>

在浏览器端按f12检测网页,可以看到Django反向生成的url如下:

<a href="/dynamicxx/x0/">dynamic连接</a>

反向生成的url中,Django用xx去匹配\w{2},用x匹配“/”后面的\w,用0匹配\d+,也就是说Django会默认用x去匹配一个单词字符,用0去匹配一个数字。

posted @ 2019-06-03 14:40  olivertian  阅读(250)  评论(0编辑  收藏  举报