反向解析的三种情况


一.在视图中的用法

    通过链接地址发get请求,请求地址为:http://127.0.0.1:8000/qwert/
进入urls.py中,与 path('qwert/',v.qwert)匹配成功
进入到视图函数的qwert方法中
return redirect(reverse('aaa'))
重定向别名为aaa的页面
进入到urls.py中,找到别名为aaa的真是路径:path('q/',v.q,name='aaa')
将真实路径发送给浏览器,并命令其重定向
浏览器接收到响应,并根据要求发送新的请求.请求url:http://127.0.0.1:8000/q/
服务器接收到请求,进入urls.py中,与path('q/',v.q,name='aaa')匹配成功
进入到视图函数的q方法中,返回aaa.html页面

二.在模板中的用法

    <a href="{% url 'index' %}">点击跳转</a>
点击a标签,由于含有反向解析,会进入到urls.py中,找到别名为index的地址
根据获取到的地址,发送get请求
服务器接收到请求,到urls.py中匹配,path('index/', views.index,name='index')
进入视图函数中的index方法,返回index.html页面

三.反向解析包含动态参数时的用法

    1.在视图中含有动态参数时:
如果aaa中含有动态参数,利用args传递 return redirect(reverse('aaa'),args=(1,2))
2.在模板中含有动态参数时:
如果index中有动态参数,空格,直接加 <a href="{% url 'index' a,b,c %}">点击跳转</a>
posted @ 2018-10-23 21:07  ★行者尚★  阅读(610)  评论(0编辑  收藏  举报