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去匹配一个数字。