Python?requests用法和django后臺處理詳解
1、requests 的常見用法
requests 除了 url 之外,還有 params, data 和 files 三個參數(shù),用于和服務(wù)器后臺交互。
1.1、提交查詢
注意 get 只支持 params ,不支持 data 和 files。
requests.get(login_url, params={ "user": user, "password": password, })
1.2、提交表格
注意,requests.post既支持data,也支持params:
requests.post(form_submit_url, data={ "user": user, "password": password, }, params={ "pool": pool, })
1.3、在提交時附加文件:
files = ["a.csv", "b.xml"] # 注意file需要以binary形式打開。 files = [("files", (os.path.basename(file), open(file, "rb"))) for file in files] r = requests.post(url, files=files, data=data, params=params)
1.4、保持狀態(tài)
使用 session 保持狀態(tài),先登錄,再提交表格:
session = requests.Session() session.get(login_url, params) session.post(form_submit_url, data)
1.5、查看結(jié)果
最重要的是status_code、reason和content三個成員變量:
r = requests.post(url, files=files, data=data, params=params) if r.status_code != 200: print(r.status_code, r.reason) # 打印出錯信息。 else: print(r.content) # 服務(wù)器返回結(jié)果
2、django 的處理
2.1、params 傳入的參數(shù)
對于 requests 通過 params 傳入的參數(shù),可以通過request.GET獲?。?/p>
def handler(request): return request.GET["pool"] # 若未傳入?yún)?shù),將拋出異常 # return request.GET.get("pool") # 當沒有傳入該參數(shù)時,返回None # return request.GET.get("pool", "abc") # 默認為abc
2.2、data 傳入的參數(shù)
對于 requests 通過 data 傳入的參數(shù),可以通過request.POST獲取:
def handler(request): return request.POST["user"] # 若未傳入?yún)?shù),將拋出異常 # return request.POST.get("user") # 當沒有傳入該參數(shù)時,返回None # return request.POST.get("user", "abc") # 默認為abc
2.3、files 傳入的參數(shù)
對于 requests 通過 files 傳入的參數(shù),可以通過request.FILES獲?。?/p>
def handler(request): for file in request.FILES.getlist("files"): name = file.name content = file.file.read() # is binary open(name, "wb").write(content) # 保存到本地
總結(jié)
到此這篇關(guān)于Python requests用法和django后臺處理的文章就介紹到這了,更多相關(guān)requests用法和django后臺處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python的幾個高級語法概念淺析(lambda表達式閉包裝飾器)
本文主要記錄自己對幾個高級語法概念的理解:匿名函數(shù)、lambda表達式、閉包、裝飾器。這幾個概念并非Python特有,但本文只限于用Python做說明2016-05-05Python詳細對比講解break和continue區(qū)別
這篇文章主要介紹了python循環(huán)控制語句 break 與 continue,break就像是終止按鍵,不管執(zhí)行到哪一步,只要遇到break,不管什么后續(xù)步驟,直接跳出當前循環(huán)2022-06-06python logging 日志輪轉(zhuǎn)文件不刪除問題的解決方法
最近在維護項目的python項目代碼,項目使用了 python 的日志模塊 logging, 設(shè)定了保存的日志數(shù)目, 不過沒有生效,還要通過contab定時清理數(shù)據(jù)2016-08-08Python continue繼續(xù)循環(huán)用法總結(jié)
本篇文章給大家總結(jié)了關(guān)于Python continue繼續(xù)循環(huán)的相關(guān)知識點以及用法,有需要的朋友跟著學習下吧。2018-06-06