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

Django框架實(shí)現(xiàn)逆向解析url的方法

 更新時(shí)間:2018年07月04日 08:49:09   作者:win_turn  
這篇文章主要介紹了Django框架實(shí)現(xiàn)逆向解析url的方法,結(jié)合實(shí)例形式分析了Django逆向解析URL的原理、步驟、相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Django框架實(shí)現(xiàn)逆向解析url的方法。分享給大家供大家參考,具體如下:

Django中提供了一個(gè)關(guān)于URL的映射的解決方案,你可以做兩個(gè)方向的使用:

①. 有客戶(hù)端的瀏覽器發(fā)起一個(gè)url請(qǐng)求,Django根據(jù)URL解析,把url中的參數(shù)捕獲,調(diào)用相應(yīng)的試圖,獲取相應(yīng)的數(shù)據(jù),然后返回給客戶(hù)端顯示

②. 通過(guò)一個(gè)視圖的名字,再加上一些參數(shù)和值,逆向獲取相應(yīng)的URL

第一個(gè)就是平常的請(qǐng)求有URLconf來(lái)解析的過(guò)程,

第二個(gè)叫做,url的逆向解析,url逆向匹配,url的逆向查閱,等

Django提供了不同的層級(jí)的url逆向處理工具:

①. 在模板templates中,使用url標(biāo)記,如:{% url %}

②. 在Python代碼中,使用django.core.urlresolvers.reverse()方法

③. 在更高一層級(jí)的處理url中,用get_absolute_url()方法

示例

看如下的URLconf:

from django.conf.urls import patterns, url
urlpatterns = patterns('',
  #...
  url(r'^articles/(\d{4})/$', 'news.views.year_archive'),
  #...
)

根據(jù)設(shè)計(jì),這個(gè)url的目的是將是nnnn年的文章存檔(archive),即/articles/nnnn/

1.在模板中,可以這樣來(lái)使用:

<a href="{% url 'news.views.year_archive' 2012 %}" rel="external nofollow" >2012 Archive</a>
{# Or with the year in a template context variable: #}
<ul>
{% for yearvar in year_list %}
<li><a href="{% url 'news.views.year_archive' yearvar %}" rel="external nofollow" >{{ yearvar }} Archive</a></li>
{% endfor %}
</ul>

解釋一下:首先,根據(jù)視圖 'news.views.year_artichive'可以定位到指定的URLconf中,然后后面的2012來(lái)填充articles/\d{4}

最終的結(jié)果為:

<a href="articles/2012/" rel="external nofollow" >2012 Archive</a>

這里就是根據(jù)試圖和所提供的值來(lái)逆向查詢(xún)url

下面的類(lèi)似,

2.在python代碼中

from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
def redirect_to_year(request):
  # ...
  year = 2006
  # ...
  return HttpResponseRedirect(reverse('news.views.year_archive', args=(year,)))

解釋一下:首先,必須引入django.core.urlresolvers.reverse() 方法,然后原理就是,根據(jù)提供的試圖和參數(shù)

的值來(lái)逆向查找URLconf,匹配相應(yīng)的url然后把值拿回來(lái),最后,reverse()返回的值為:articles/2006/,這樣就逆向的查出了需要的url

希望本文所述對(duì)大家基于Django框架的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 部署django項(xiàng)目安裝uwsgi出錯(cuò)的解決方法總結(jié)

    部署django項(xiàng)目安裝uwsgi出錯(cuò)的解決方法總結(jié)

    uwsgi協(xié)議是一個(gè)uWSGI服務(wù)器自有的協(xié)議,它用于定義傳輸信息的類(lèi)型(type of information),每一個(gè)uwsgi packet前4byte為傳輸信息類(lèi)型描述,它與WSGI相比是兩樣?xùn)|西,下面這篇文章主要給大家介紹了關(guān)于部署django項(xiàng)目安裝uwsgi出錯(cuò)的解決方法,需要的朋友可以參考下
    2022-08-08
  • python RC4加密操作示例【測(cè)試可用】

    python RC4加密操作示例【測(cè)試可用】

    這篇文章主要介紹了python RC4加密操作,結(jié)合實(shí)例形式分析了python實(shí)現(xiàn)RC4加密功能的具體操作步驟與相關(guān)問(wèn)題解決方法,需要的朋友可以參考下
    2019-09-09
  • Python pickle類(lèi)庫(kù)介紹(對(duì)象序列化和反序列化)

    Python pickle類(lèi)庫(kù)介紹(對(duì)象序列化和反序列化)

    這篇文章主要介紹了Python pickle類(lèi)庫(kù)介紹(對(duì)象序列化和反序列化),本文講解了pickle庫(kù)的作用、pickle的運(yùn)行過(guò)程、使用實(shí)例、修改picklable類(lèi)型的默認(rèn)行為等內(nèi)容,需要的朋友可以參考下
    2014-11-11
  • python目標(biāo)檢測(cè)非極大抑制NMS與Soft-NMS

    python目標(biāo)檢測(cè)非極大抑制NMS與Soft-NMS

    這篇文章主要weidajia?介紹了python目標(biāo)檢測(cè)非極大抑制NMS與Soft-NMS實(shí)現(xiàn)過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python基礎(chǔ)之循環(huán)語(yǔ)句

    python基礎(chǔ)之循環(huán)語(yǔ)句

    這篇文章主要介紹了python的循環(huán)語(yǔ)句,實(shí)例分析了Python中返回一個(gè)返回值與多個(gè)返回值的方法,需要的朋友可以參考下
    2021-10-10
  • python如何繪制路段時(shí)變車(chē)速熱力圖

    python如何繪制路段時(shí)變車(chē)速熱力圖

    本文通過(guò)熱力圖形式展示了24小時(shí)內(nèi)某個(gè)路段的車(chē)速變化和特定時(shí)刻某條路徑的車(chē)速情況,數(shù)據(jù)是通過(guò)Numpy隨機(jī)生成的,用以模擬真實(shí)的車(chē)速情況,文章還展示了如何利用pandas和seaborn庫(kù)中的pivot_table()和heatmap()函數(shù)生成熱力圖
    2024-09-09
  • 基于Python實(shí)現(xiàn)一個(gè)自動(dòng)關(guān)機(jī)程序并打包成exe文件

    基于Python實(shí)現(xiàn)一個(gè)自動(dòng)關(guān)機(jī)程序并打包成exe文件

    這篇文章主要介紹了通過(guò)Python創(chuàng)建一個(gè)可以自動(dòng)關(guān)機(jī)的小程序,并打包成exe文件。文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,感興趣的同學(xué)可以了解一下
    2021-12-12
  • pycharm修改界面主題顏色的方法

    pycharm修改界面主題顏色的方法

    今天小編就為大家分享一篇pycharm修改界面主題顏色的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 簡(jiǎn)單了解Python write writelines區(qū)別

    簡(jiǎn)單了解Python write writelines區(qū)別

    這篇文章主要介紹了簡(jiǎn)單了解Python write writelines區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python多線(xiàn)程如何同時(shí)處理多個(gè)文件

    Python多線(xiàn)程如何同時(shí)處理多個(gè)文件

    這篇文章主要介紹了Python多線(xiàn)程如何同時(shí)處理多個(gè)文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評(píng)論

利川市| 二连浩特市| 永康市| 宜丰县| 荣昌县| 河池市| 陆良县| 城步| 疏勒县| 威海市| 桐城市| 页游| 南京市| 潼南县| 江北区| 连南| 石柱| 清流县| 乐清市| 滁州市| 买车| 黑龙江省| 宁波市| 绥中县| 保靖县| 木兰县| 滦平县| 游戏| 吴江市| 中方县| 延寿县| 同仁县| 磐安县| 大关县| 常德市| 涞源县| 曲周县| 南靖县| 玉溪市| 无极县| 洛隆县|