1. 程式人生 > >web.input()和web.data()

web.input()和web.data()

概述

基於web.py框架,web.input()與web.data()是web.py模組中的兩個函式,其都用來獲取http請求包中的資訊,但是獲取的資訊卻是不同,以下我們來看看這兩個函式有何不同

web.input()

web.input()方法返回一個包含從url(GET方法)或http header(POST方法,即表單POST)獲取的變數的web.storage物件(類似字典)

>>> user_data = web.input()
>>> user_data.name
xiaoming
>>> user_data.age

如果想要指定一個預設變數,如下

>>> user_data = web.input(id=9527)
>>> user_data.id
9527

web.data()

web.data() 獲取的是http請求包中的實體正文,函式返回值型別也是str。

利用postman進post,比如post請求包的實體正文為:test=test&test2=test2,通過以下程式碼便可獲取實體正文資料

>>> web.data()
test=test&test2=test2

比較

  • web.input() 獲取url或是headler的引數,可以用於GET和POST請求包。
  • web.data() 獲取實體正文,只能用於POST請求包

注意

兩個方法返回值都是str型別的,因此如果需要另做其他使用者,必須進行轉換