Django url 的反向解析
1、代码中 url 书写规范
绝对地址:
https://…
相对地址:
'/page/1'
-'/'
开头的相对地址,浏览器会把当前地址栏例的 协议 、ip
和 端口 加上这个地址,作为最终访问地址'page/1'
- 没有'/'
开头的相对地址,浏览器会根据当前url
的最后一个/
之前的内容加上该相对地址最为最终访问地址,例如:当前地址栏地址为http://127.0.0.0.1:8000/topic/detail
; 则该相对地址最终结果为http://127.0.0.1:8000/topic/
+page/1
2、url 反向解析 – 实现动态解析 url
- 定义:
url
反向解析是指在视图或模板中,用path
定义的名称来动态查找或计算出相应的路由 path
函数的语法:path(route, views, name="别名")
path('page', views.page_view, name="page_url")
- 根据
path
中的'name='
关键字传参给url
确定了个唯一确定的名字,在模板或视图中,可以通过这个名字反向推断出此url
信息 - 模板中通过 url 标签实现地址的反向解析
{% url '别名' %}
{% url 'pagen' '400' %}
{% url '别名' 'value1' 'value2' %}
{% url ‘person' age='18' name='gxn' %}
- 在视图函数中可调用
django
中的reverse
方法进行反向解析