反向解析的三種狀況

 

一.在視圖中的用法

    經過連接地址發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>
相關文章
相關標籤/搜索