最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django url反向解析的實(shí)現(xiàn)

 更新時(shí)間:2021年12月28日 15:56:46   作者:loveysuxin  
本文主要介紹了Django url反向解析的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

1、代碼中URL可以出現(xiàn)的位置

一個(gè)是在HTML模板中,一個(gè)是在視圖函數(shù)中:

1、模板【HTML】中
(1) <a href='URL'>超鏈接</a> 點(diǎn)擊后頁(yè)面跳轉(zhuǎn)至URL
(2) <form action='URL' method='post'> form表單中的數(shù)據(jù),用post方法提交至URL
2、視圖函數(shù)中
(1)302跳轉(zhuǎn) HttpResponseRedirect(URL) 將用戶地址欄中的地址跳轉(zhuǎn)到URL

2、代碼中URL書(shū)寫(xiě)規(guī)范

(1)絕對(duì)地址
eg: http://127.0.0.1:8000/page/1
(2)相對(duì)地址

  • ‘/' 開(kāi)頭的相對(duì)地址 eg: ‘/page/3'

瀏覽器會(huì)把當(dāng)前地址欄里的協(xié)議、Ip、端口加上這個(gè)地址,作為最終訪問(wèn)地址。
例如:當(dāng)前頁(yè)面地址為:http://127.0.0.1:8000/page/1; 相對(duì)地址為 ‘/page/3' ;則最終訪問(wèn)地址為:http://127.0.0.1:8000 + /page/3

  • 不帶 ‘/' 開(kāi)頭的相對(duì)地址 eg: ‘page/3'

瀏覽器會(huì)根據(jù)當(dāng)前URL的最后一個(gè)/之前的內(nèi)容,加上該相對(duì)地址作為最終訪問(wèn)地址。
例如:當(dāng)前頁(yè)面地址為:http://127.0.0.1:8000/topic/detail; 相對(duì)地址為 ‘page/3' ;則最終訪問(wèn)地址為:http://127.0.0.1:8000/topic/ + /page/3

3、URL反向解析

(1)定義

URL反向解析是指在視圖模板中,用path定義的名稱來(lái)動(dòng)態(tài)查找或計(jì)算出相應(yīng)的路由。
path函數(shù)語(yǔ)法:
path(route, views, name=‘別名')

根據(jù)path中的關(guān)鍵字name傳參給URL確定了唯一確定的名字,在模板或視圖中,可以通過(guò)這個(gè)名字反向推斷出此URL信息。從而避免了在模板或視圖中寫(xiě)絕對(duì)或相對(duì)路徑。

(2)使用方式

模板中–通過(guò)URL標(biāo)簽實(shí)現(xiàn)地址的反向解析

{% url '別名'%}
{% url '別名'% '參數(shù)值1' '參數(shù)值2'}
eg:
{% url 'pagen' '100' %}
{% url 'person' age='18' name='xixi'%}

視圖函數(shù)中 – 可調(diào)用Django中的reverse方法進(jìn)行反向解析

from django.urls import reverse
reverse('別名',args=[],kwargs={})
eg:
reverse('pagen',args=[100])
reverse('person',kwargs={'age':18,'name':'xixi'})
 
from django.urls import reverse
   url = reverse('base_index')
   return HttpResponseRedirect(url)

4 案例

urls.py

path('test/url', views.test_url),
# 在『模板』test_url.html中通過(guò)‘tr'反向解析該路由
path('test_url_result/<int:age>', views.test_url_result, name='tr'),
# 之前案例中的路由
# 在「視圖函數(shù)」test_url_result中通過(guò)reverse反向解析該路由
path('base_index', views.base_view, name='base_index'),

views.py

def test_url(request):
    return render(request, 'test_url.html')

def test_url_result(request, age):
    # 302跳轉(zhuǎn)
    from django.urls import reverse
    # 通過(guò)reverse反向解析該路由
    url = reverse('base_index')
    return HttpResponseRedirect(url)
    # return HttpResponse('--- test url is ok')   # 該方法直接return可以驗(yàn)證相對(duì)地址中帶/ 和不到/的路由

templates/test_url.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>測(cè)試url</title>
</head>
<body>

<a  rel="external nofollow" >絕對(duì)地址</a>
<a href="/test_url_result" rel="external nofollow" >帶'/'的相對(duì)地址</a>
<a href="test_url_result" rel="external nofollow" >不帶'/'的相對(duì)地址</a>

<br>
<!-- 模板中,URL方向解析使用案例-->
<a href="{% url 'tr' '100' %}" rel="external nofollow" >url反向解析</a>

</body>
</html>

啟動(dòng)服務(wù),瀏覽器輸入:http://127.0.0.1:8000/test/url
鼠標(biāo)點(diǎn)擊后懸浮在對(duì)應(yīng)連接上,可以看對(duì)應(yīng)的絕對(duì)地址。

在這里插入圖片描述

到此這篇關(guān)于Django url反向解析的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Django url反向解析內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python爬蟲(chóng)使用requests發(fā)送post請(qǐng)求示例詳解

    python爬蟲(chóng)使用requests發(fā)送post請(qǐng)求示例詳解

    這篇文章主要介紹了python爬蟲(chóng)使用requests發(fā)送post請(qǐng)求示例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 徹底搞懂 python 中文亂碼問(wèn)題(深入分析)

    徹底搞懂 python 中文亂碼問(wèn)題(深入分析)

    現(xiàn)在有的小伙伴為了躲避中文亂碼的問(wèn)題甚至代碼中不使用中文,注釋和提示都用英文,我曾經(jīng)也這樣干過(guò),但這并不是解決問(wèn)題,而是逃避問(wèn)題,今天我們一起徹底解決 Python 中文亂碼的問(wèn)題
    2020-02-02
  • 聊聊Python中的浮點(diǎn)數(shù)運(yùn)算不準(zhǔn)確問(wèn)題

    聊聊Python中的浮點(diǎn)數(shù)運(yùn)算不準(zhǔn)確問(wèn)題

    這篇文章主要介紹了聊聊Python中的浮點(diǎn)數(shù)運(yùn)算不準(zhǔn)確問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Django中使用pillow實(shí)現(xiàn)登錄驗(yàn)證碼功能(帶刷新驗(yàn)證碼功能)

    Django中使用pillow實(shí)現(xiàn)登錄驗(yàn)證碼功能(帶刷新驗(yàn)證碼功能)

    這篇文章主要介紹了Django中使用pillow實(shí)現(xiàn)登錄驗(yàn)證碼功能(帶刷新驗(yàn)證碼功能),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • python中終止協(xié)程和異常處理方式

    python中終止協(xié)程和異常處理方式

    這篇文章主要介紹了python中終止協(xié)程和異常處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 快速下載VScode并配置Python運(yùn)行環(huán)境(圖文教程)

    快速下載VScode并配置Python運(yùn)行環(huán)境(圖文教程)

    本文主要介紹了快速下載VScode并配置Python運(yùn)行環(huán)境,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • python遞歸打印某個(gè)目錄的內(nèi)容(實(shí)例講解)

    python遞歸打印某個(gè)目錄的內(nèi)容(實(shí)例講解)

    下面小編就為大家?guī)?lái)一篇python遞歸打印某個(gè)目錄的內(nèi)容(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • 舉例講解Python的Tornado框架實(shí)現(xiàn)數(shù)據(jù)可視化的教程

    舉例講解Python的Tornado框架實(shí)現(xiàn)數(shù)據(jù)可視化的教程

    這篇文章主要介紹了舉例講解Python的Tornado框架實(shí)現(xiàn)數(shù)據(jù)可視化的教程,Tornado是一個(gè)異步的高人氣開(kāi)發(fā)框架,需要的朋友可以參考下
    2015-05-05
  • 解讀python中的類型提示(type hint)

    解讀python中的類型提示(type hint)

    這篇文章主要介紹了解讀python中的類型提示(type hint),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python裝飾器詳細(xì)介紹

    Python裝飾器詳細(xì)介紹

    這篇文章主要介紹了Python @property裝飾器的用法,在Python中,可以通過(guò)@property裝飾器將一個(gè)方法轉(zhuǎn)換為屬性,從而實(shí)現(xiàn)用于計(jì)算的屬性,下面文章圍繞主題展開(kāi)更多相關(guān)詳情,感興趣的小伙伴可以參考一下
    2022-12-12

最新評(píng)論

遂宁市| 通州市| 湖口县| 大港区| 太谷县| 龙南县| 都昌县| 康平县| 潢川县| 息烽县| 奈曼旗| 石渠县| 库伦旗| 麻栗坡县| 敦煌市| 新建县| 新河县| 铁岭县| 保康县| 塔城市| 静乐县| 白水县| 镇原县| 镇原县| 华池县| 廉江市| 东明县| 平果县| 兖州市| 汝城县| 博爱县| 灵山县| 南乐县| 江源县| 通州市| 彝良县| 东乡县| 斗六市| 扶沟县| 吉水县| 靖江市|