摘要:協(xié)議是萬維網(wǎng)數(shù)據(jù)通信的基礎(chǔ)在這個協(xié)議上可以對同一使用不同的方法獲取數(shù)據(jù)下面展示了幾種不同的方法將未經(jīng)加密的信息發(fā)送的服務(wù)器是最通用的方法該方法除了服務(wù)端不返回響應(yīng)內(nèi)容只返回頭信息之外同是一樣的用于向服務(wù)器發(fā)送表單數(shù)據(jù)請求不會被緩存將所指示的
HTTP協(xié)議是萬維網(wǎng)數(shù)據(jù)通信的基礎(chǔ). 在這個協(xié)議上可以對同一URL使用不同的方法獲取數(shù)據(jù).
下面展示了幾種不同的HTTP方法.
GET 將未經(jīng)加密的信息發(fā)送的服務(wù)器. 是最通用的方法.
HEAD 該方法除了服務(wù)端不返回響應(yīng)內(nèi)容只返回頭信息之外, 同GET是一樣的.
POST 用于向服務(wù)器發(fā)送HTML表單數(shù)據(jù). POST請求不會被緩存.
PUT 將URL所指示的資源用上傳的內(nèi)容替換.
DELETE 將URL所指示的資源刪除.
Flask路由默認處理的是GET請求, 但我們可以通過添加route()裝飾器的參數(shù)來改變這點.
為便于演示URL路由中的POST方法, 我們創(chuàng)建一個HTML表單, 并用這個表單給URL發(fā)送數(shù)據(jù).
將下面內(nèi)容保存為login.html.
將下面這段Python代碼保存并執(zhí)行:
from flask import Flask, redirect, url_for, request app = Flask(__name__) @app.route("/success/") def success(name): return "welcome %s" % name @app.route("/login",methods = ["POST", "GET"]) def login(): if request.method == "POST": user = request.form["nm"] return redirect(url_for("success",name = user)) else: user = request.args.get("nm") return redirect(url_for("success",name = user)) if __name__ == "__main__": app.run(debug = True)
在開發(fā)模式下執(zhí)行程序開啟服務(wù)器后, 在瀏覽器中打開login.html, 會看到一個簡陋的表單, 我們填入名字并提交.
然后表單就把數(shù)據(jù)POST到action所指示的URL上. http://localhost:5000/login這個URL被綁定到login()函數(shù)上, 一旦服務(wù)器通過POST方法接收到數(shù)據(jù), 表單里nm字段的值就從下面這段代碼中獲取到了:
user = request.form["nm"]
然后這個值被作為變量傳到了/success這個URL上, 瀏覽器最終展示的是/successURL下的welcome字樣的信息.
我們把login.html中的action改為GET方法, 再次從瀏覽器中打開頁面, 提交后, 服務(wù)器代碼收到的是GET請求, nm字段的值這次用如下代碼獲取:
User = request.args.get(‘nm’)
這里, args是由字段的名稱和值組成的字典對象, nm字段的值同樣被傳遞到了/successURL上.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/40871.html
摘要:類有一個方法當(dāng)我們調(diào)用它時它會返回一個響應(yīng)對象并且按指定的狀態(tài)碼將用戶重定向到另一個位置方法的原型如下在上面的函數(shù)中我們要重定向的位置狀態(tài)碼會在頭中發(fā)送給瀏覽器默認為用這個參數(shù)來初始化響應(yīng)對象下面是一些標(biāo)準的狀態(tài)碼重定向的狀態(tài)碼默認是也就是 Flask類有一個redirect()方法. 當(dāng)我們調(diào)用它時, 它會返回一個響應(yīng)對象并且按指定的狀態(tài)碼將用戶重定向到另一個位置. redirect...
摘要:我們可以讓綁定到某個的函數(shù)返回比如下面的代碼中函數(shù)會返回由包裹的字符串但大家看得出這樣直接通過代碼返回內(nèi)容顯得很笨尤其當(dāng)我們碰到需要對輸入變量做條件判斷和循環(huán)時我們經(jīng)常需要做字符串嵌入拼接這種體力活這種情況下我們需要利用自帶的模版引擎我們可 我們可以讓綁定到某個URL的函數(shù)返回HTML. 比如下面的代碼中, hello()函數(shù)會返回由包裹的Hello World字符串. from fl...
摘要:獲取成為開發(fā)專家的技巧。我們可以在兩個文本框輸入筆記的標(biāo)題和內(nèi)容。在本教程中,我們將使用一個名為的工具。它是一個火狐瀏覽器的擴展,我們可以使用它管理數(shù)據(jù)庫。安裝,打開火狐瀏覽器,點擊,然后點找到的文件夾圖標(biāo)并點擊它。 showImg(https://cdn-images-1.medium.com/max/600/1*Ou6FFJJD3zhcIUU8wBZqIw.png); 教程譯文首發(fā)...
摘要:之前我們已經(jīng)看到在中我們可以給規(guī)則指定方法對應(yīng)的函數(shù)可以按字典形式接收表單數(shù)據(jù)然后將這些數(shù)據(jù)輸送到模板中并最終渲染為網(wǎng)頁在下面的例子中渲染一個含有表單的網(wǎng)頁填入到表單的數(shù)據(jù)被到然后觸發(fā)了函數(shù)函數(shù)將表單數(shù)據(jù)組裝起來放入字典對象中然后發(fā)送到模板 之前我們已經(jīng)看到在Flask中我們可以給URL規(guī)則指定http方法, 對應(yīng)的函數(shù)可以按字典形式接收表單數(shù)據(jù), 然后將這些數(shù)據(jù)輸送到模板中并最終渲染...
摘要:教程譯文首發(fā)自我的博客我們將創(chuàng)建一個簡單的數(shù)據(jù)庫驅(qū)動的筆記本應(yīng)用。本教程面向想學(xué)習(xí)如何使用開發(fā)網(wǎng)站或者應(yīng)用的初學(xué)者。在剛創(chuàng)建的文件中,創(chuàng)建一個名為的文件?,F(xiàn)在,我們將創(chuàng)建一個函數(shù),并且使用裝飾器將它綁定到一個上。 showImg(https://segmentfault.com/img/remote/1460000006765797); 教程譯文首發(fā)自我的博客:Defshines Bl...
閱讀 1010·2023-04-25 14:45
閱讀 2790·2021-09-30 09:59
閱讀 3132·2021-09-22 15:48
閱讀 2432·2019-08-30 15:55
閱讀 3485·2019-08-30 15:44
閱讀 551·2019-08-29 14:07
閱讀 3420·2019-08-26 13:45
閱讀 546·2019-08-26 11:31