中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python?requests和django后臺處理的方法

發布時間:2022-03-19 13:33:23 來源:億速云 閱讀:152 作者:iii 欄目:開發技術

這篇文章主要講解了“Python requests和django后臺處理的方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python requests和django后臺處理的方法”吧!

    1、requests 的常見用法

    requests 除了 url 之外,還有 params, data 和 files 三個參數,用于和服務器后臺交互。

    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、保持狀態

    使用 session 保持狀態,先登錄,再提交表格:

    session = requests.Session()
    session.get(login_url, params)
    session.post(form_submit_url, data)

    1.5、查看結果

    最重要的是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)  # 服務器返回結果

    2、django 的處理

    2.1、params 傳入的參數

    對于 requests 通過 params 傳入的參數,可以通過request.GET獲取:

    def handler(request):
        return request.GET["pool"]       # 若未傳入參數,將拋出異常
        # return request.GET.get("pool") # 當沒有傳入該參數時,返回None
        # return request.GET.get("pool", "abc") # 默認為abc

    2.2、data 傳入的參數

    對于 requests 通過 data 傳入的參數,可以通過request.POST獲取:

    def handler(request):
        return request.POST["user"]       # 若未傳入參數,將拋出異常
        # return request.POST.get("user") # 當沒有傳入該參數時,返回None
        # return request.POST.get("user", "abc") # 默認為abc

    2.3、files 傳入的參數

    對于 requests 通過 files 傳入的參數,可以通過request.FILES獲取:

    def handler(request):
        for file in request.FILES.getlist("files"):
            name = file.name
            content = file.file.read()      # is binary
            open(name, "wb").write(content) # 保存到本地

    感謝各位的閱讀,以上就是“Python requests和django后臺處理的方法”的內容了,經過本文的學習后,相信大家對Python requests和django后臺處理的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    思茅市| 晋中市| 汉沽区| 岚皋县| 大同市| 峨山| 阿尔山市| 棋牌| 平利县| 周至县| 扶绥县| 芦溪县| 丰宁| 榆林市| 成武县| 大石桥市| 理塘县| 平泉县| 延川县| 石台县| 射洪县| 东光县| 宜兰县| 松江区| 道孚县| 贵南县| 曲沃县| 会昌县| 长垣县| 南漳县| 福安市| 广昌县| 山西省| 页游| 城口县| 琼海市| 上饶县| 晋城| 米脂县| 海安县| 清水县|