欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺析Python的web.py框架中url的設(shè)定方法

 更新時間:2016年07月11日 19:50:03   作者:Kevin_Yang  
web.py是Python的一個輕量級Web開發(fā)框架,這里我們來淺析Python的web.py框架中url的設(shè)定方法,需要的朋友可以參考下

網(wǎng)頁中的數(shù)據(jù)在傳遞的時候有GET和POST兩種方式,GET是以網(wǎng)址的形式傳參數(shù),在web.py中有著很好的匹配,如果我們配置以下的urls

 urls =(
  '/','index',
  '/weixin/(.*?)','WeixinInterface'
  
  )

先不考慮/weixin/后面的東西,現(xiàn)在我們來寫index的類

 class index:
  def GET(self):
    i = web.input(name = 'kevinkelin',age = 100)     
    return render.index(i.name,i.age)

隨便寫一個index.html模板文件

 $def with(name,age)
$if name:
  I just want to say <em>hello</em> to $name, he is $age years old
$else:
  <em>hello</em>,world!

當(dāng)訪問http://127.0.0.1:8080/ 此時沒有傳遞name與age的值,由于我的GET函數(shù)里定義了默認(rèn)的name與age的值,所以程序會將kevinkelin與26傳遞到模板中去得到以下的輸出

I just want to say hello to kevinkelin, he is 100 years old

當(dāng)訪問http://127.0.0.1:8080/?name=yyx&age=26 即向GET函數(shù)中傳遞name = yyx and age = 26的時候得到以下的輸出

I just want to say hello to yyx, he is 26 years old

 我們也可以不定義默認(rèn)的的參數(shù),即定義為空

i = web.input(name = None,age = None)

當(dāng)訪問http://127.0.0.1:8080/ 的時候?qū)玫?hello,world!的輸出即模板中的else
但是如果你不定義name和age將會出錯

i = web.input()

這是因為后面你將i.name與i.age分配到模板當(dāng)中去,但是全局變量里又沒有這兩個變量,所以會報錯
但有時我們想這樣傳遞參數(shù),不想加那個“?”這時我們得要更改urls規(guī)則

 urls =(
  '/name=(.*)&age=(.*)','index',
  '/weixin/(.*?)','WeixinInterface'  
  )

重新寫class index

 class index:
  def GET(self,name,age):
    return render.index(name,age)

這里是將url的參數(shù)通過正則匹配然后傳遞到index類中的GET的參數(shù)中
當(dāng)訪問http://127.0.0.1:8080/name=yyx&age=26 時將得到

I just want to say hello to yyx, he is 26 years old

第二種方法看似簡單,但其實不好控制,要求寫的正則工作量加大了
如果我想知道到底有多少參數(shù)通過GET方式傳遞過來,我可以直接return 來看一下到底有哪些傳遞過來了
接下來看一下post來的數(shù)據(jù):
我們可以制作一個簡單的表單或者直接使用fiddler來構(gòu)造數(shù)據(jù)進(jìn)行POST傳值 

def POST(self):
    data = web.data()    
    return data

2016711194530065.png (698×539)

我想看一下得到的數(shù)據(jù)類型

return type(data)

得到的是<type 'str'>,也就是說web.py已經(jīng)將post的數(shù)據(jù)轉(zhuǎn)換成了str類型
那么我來試一下傳遞xml

 <xml>
<ToUserName>yanxingyang</ToUserName>
<FromUserName>study_python</FromUserName>
<CreateTime>123456</CreateTime>
<MsgType>text</MsgType>
<Content>Just a test</Content>
</xml>

其實這個微信的XML格式做了一些更改,我來試著使用lxml對它進(jìn)行解析

from lxml import etree
data = web.data()
xml = etree.fromstring(data)
content = xml.find(‘Content').text
return content

得到的結(jié)果很好

2016711194622132.png (244×124)

相關(guān)文章

  • tensorflow: 查看 tensor詳細(xì)數(shù)值方法

    tensorflow: 查看 tensor詳細(xì)數(shù)值方法

    今天小編就為大家分享一篇tensorflow: 查看 tensor詳細(xì)數(shù)值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python使用正則表達(dá)式替換匹配成功的組

    python使用正則表達(dá)式替換匹配成功的組

    正則表達(dá)式,又稱正規(guī)表示式、正規(guī)表示法、正規(guī)表達(dá)式、規(guī)則表達(dá)式、常規(guī)表示法。這篇文章主要介紹了python里使用正則表達(dá)式來替換匹配成功的組,需要的朋友可以參考下
    2017-11-11
  • Python學(xué)習(xí)之名字,作用域,名字空間

    Python學(xué)習(xí)之名字,作用域,名字空間

    這篇文章主要介紹了Python學(xué)習(xí)之名字,作用域,名字空間,文章圍繞主題展開詳細(xì)內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考以一下
    2022-05-05
  • python編寫Logistic邏輯回歸

    python編寫Logistic邏輯回歸

    這篇文章主要介紹了python編寫Logistic邏輯回歸的相關(guān)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Python如何獲取文件路徑/目錄

    Python如何獲取文件路徑/目錄

    這篇文章主要介紹了Python如何獲取文件路徑/目錄,幫助大家更好的利用python處理文件,感興趣的朋友可以了解下
    2020-09-09
  • python中shell執(zhí)行知識點

    python中shell執(zhí)行知識點

    在本篇文章里小編給大家分享的是關(guān)于python中shell執(zhí)行知識點內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-05-05
  • Python版本與package版本兼容性檢查方法總結(jié)

    Python版本與package版本兼容性檢查方法總結(jié)

    這篇文章主要介紹了Python版本與package版本兼容性檢查方法的相關(guān)資料,文中提供四種檢查方法,分別是pip查詢、conda管理、PyPI官網(wǎng)確認(rèn)、腳本自動檢測,通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-09-09
  • Python?web框架實現(xiàn)增加BasicAuth認(rèn)證詳解

    Python?web框架實現(xiàn)增加BasicAuth認(rèn)證詳解

    這篇文章主要為大家詳細(xì)介紹了Python如何在web框架中實現(xiàn)增加BasicAuth認(rèn)證,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-05-05
  • 使用Python?Turtle庫帶你玩轉(zhuǎn)創(chuàng)意繪圖(畫個心,寫個花)

    使用Python?Turtle庫帶你玩轉(zhuǎn)創(chuàng)意繪圖(畫個心,寫個花)

    Python的turtle庫提供了一種有趣且易于上手的編程繪圖方式,適合初學(xué)者學(xué)習(xí),通過本文的介紹,你將了解到如何進(jìn)行畫布設(shè)置、畫筆屬性的調(diào)整、畫筆的移動與控制,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • 用python3讀取python2的pickle數(shù)據(jù)方式

    用python3讀取python2的pickle數(shù)據(jù)方式

    今天小編就為大家分享一篇用python3讀取python2的pickle數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論