日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

python?Flask框架之HTTP請(qǐng)求詳解_python

作者:自由小冰兒 ? 更新時(shí)間: 2022-09-21 編程語言

我們的瀏覽器訪問網(wǎng)站時(shí),默認(rèn)為發(fā)送了一個(gè)HTTP的GET請(qǐng)求。

在瀏覽網(wǎng)站時(shí),會(huì)經(jīng)常填寫表單,比如填寫用戶名密碼。點(diǎn)擊登錄后,會(huì)跳轉(zhuǎn)到我們的主頁。

接下來,我們實(shí)現(xiàn)這個(gè)案例。

首先我們先寫一個(gè)登錄頁面

<!doctype html>
<html lang="en">
<head>
    <title>Hello from Flask</title>
</head>
<body>
<form action="#" method="post"> <!-- action為提交的網(wǎng)址(#為當(dāng)前網(wǎng)址),method是提交的方法-->
    <label>賬號(hào)</label>
    <!-- 設(shè)置這個(gè)輸入框的名稱為name,之后在Flask中,我們會(huì)通過這個(gè)框的名稱,索引里面的內(nèi)容的-->
    <input type="text" name="name"><br>
    <label>密碼</label>
    <!-- 設(shè)置這個(gè)輸入框的名稱為password-->
    <input type="password" name="password"><br>
    <!-- 提交按鈕-->
    <input type="submit" value="submit"/>
</form>
</body>
</html>

仔細(xì)看一下文中的4處注釋,意義重大,尤其要注意form中的method和action變量,和對(duì)文本框設(shè)置name屬性。

寫完HTML,我們需要寫一下Flask程序。

from flask import Flask, request, render_template
app = Flask(__name__)
#(1)設(shè)置這個(gè)路由的訪問方式,支持GET,POST兩種請(qǐng)求
@app.route('/login', methods=['GET','POST'])
def login():
	# (2)對(duì)用戶請(qǐng)求做一個(gè)判斷
	# 如果是“GET“請(qǐng)求,返回一個(gè)網(wǎng)址
    if request.method == "GET":
        return render_template("login.html")
    # (3)如果是Post請(qǐng)求,輸出一行字
    elif request.method == "POST":
    	# (4)通過request.form.get('name')獲取,HTML中叫name的文本框的內(nèi)容
        name = request.form.get('name')
        return f"恭喜用戶【{name}】登錄成功"
if __name__ == '__main__':
    app.run(debug=True)

上述代碼,一共做了兩件事,如果用戶請(qǐng)求是GET請(qǐng)求,返回一個(gè)頁面。用戶提交頁面的表單,將會(huì)顯示頁面登錄成功。

最終效果如圖所示:

剛開始頁面:

登錄成功后:

原文鏈接:https://blog.csdn.net/qq_43497702/article/details/125775056

欄目分類
最近更新