網(wǎng)站首頁 編程語言 正文
我們的瀏覽器訪問網(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
相關(guān)推薦
- 2022-12-06 python中的代碼運(yùn)行時(shí)間獲取方式_python
- 2021-11-25 C++實(shí)現(xiàn)截圖截屏的示例代碼_C 語言
- 2022-06-18 C語言?從根本上理解指針_C 語言
- 2022-07-07 await context.Response.Body.WriteAsync("Hello from
- 2022-05-20 Spring JdbcTemplate 快速上手
- 2022-04-21 MongoDB高效讀寫海量數(shù)據(jù)的方法_MongoDB
- 2022-04-25 T-SQL查詢?yōu)楹紊饔肐N和NOT?IN詳解_MsSql
- 2022-11-04 Android實(shí)現(xiàn)秒表功能_Android
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支