django的url反向解析

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

1 urlpatterns = [
2     re_path(r"^dynamicw{2}/wd+/", 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去匹配一个数字。

原文地址:https://www.cnblogs.com/olivertian/p/10967493.html