日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Flask】request请求

發布時間:2025/3/21 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Flask】request请求 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Flask中,可以定義路由默認的請求方式:
利用methods參數可以自己指定一個接口的請求方式

一、get請求

get方式:把請求參數放到為url的?后面,每個請求參數格式為:參數名=參數值。參數之間采用&符號隔開。采用的字符數據傳輸,所以也叫明文的請求
post: 表單提交,并且采用字節流的方式傳遞數據

案例:

模板中的html文件

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>測試請求方式和請求參數</title><style>.parent{text-align: center;}</style> </head> <body><div class="parent"><h2>請求方式</h2><a href="/test1?user_id=100&name=zhilong">get請求</a><h5>post請求</h5><form action="/test2" method="post" enctype="multipart/form-data">姓名:<input type="text" name="user_name"> <br>年領:<input type="text" name="user_age"> <br>上傳:<input type="file" name="image" ><br><input type="submit"></form></div></body> </html>

注意
@app.route('/test1',methods=['GET']):表示只接收get請求
@app.route('/test2',methods=['POST']):表示接收post請求

@app.route('/test2',methods=['POST','GET']):表示接收get和post請求
如果想要獲取其他地方傳遞的參數,可以通過Flask提供的request對象來讀取。
例如:
前端html中的請求地址為:
href="/test1?user_id=100&name=zhilong"
后端獲取user_id和name的值為:
request.args.get('user_id')
request.args.get("name")
不同位置的參數都存放在request的不同屬性中

視圖函數:

from flask import Flask,request #static_url_path:相當于路由 app = Flask(__name__) #初始化Flask項目的服務@app.route('/') def hello_world():return 'Hello World!'@app.route('/test1',methods=['GET']) def test1():user_id=request.args.get('user_id')print('用戶id是:{}'.format(user_id))name=request.args.get("name")print('用戶名字是:{}'.format(name))return "請求成功"if __name__ == '__main__':#0.0.0.0:代表當前系統中的所有的ip地址 默認端口是5000,flask的debug模式:把錯誤信息顯示在頁面中app.run(host='0.0.0.0',port=8080,debug=True)

訪問靜態資源:
http://192.168.112.217:8080/static/test1.html

點擊get請求,進入指定的頁面,后端視圖函數返回“請求成功”

二、post請求

后端想要獲取到表單中傳入的值用request方法下的form方法
例如:
request.form.get('user_name')
request.form.get('user_age')

特別注意:表單請求的url和后端視圖中的url要保持一致
后端視圖

from flask import Flask,request #static_url_path:相當于路由 app = Flask(__name__) #初始化Flask項目的服務@app.route('/') def hello_world():return 'Hello World!''''該函數處理post請求''' @app.route('/test2',methods=['POST']) def test2():name=request.form.get('user_name')age=request.form.get('user_age')print("name的值是:{},類型是:{}".format(name,type(name)))print("age的值是:{},類型是:{}".format(age, type(age)))if __name__ == '__main__':#0.0.0.0:代表當前系統中的所有的ip地址 默認端口是5000,flask的debug模式:把錯誤信息顯示在頁面中app.run(host='0.0.0.0',port=8080,debug=True)

訪問靜態頁面

表單中填寫數據,提交
后端視圖返回"post請求成功"

控制臺打印結果為:

三、文件上傳

客戶端上傳文件到服務器,并保存到服務器中
后端想要獲取上傳的參數:用request.files['image']
f.save('./static/demo.jpg'):表示后端獲取到客戶端上傳的文件后保存到/static/demo.jpg這里
視圖為:

from flask import Flask,request #static_url_path:相當于路由 app = Flask(__name__) #初始化Flask項目的服務@app.route('/') def hello_world():return 'Hello World!''''該函數處理post請求''' @app.route('/test2',methods=['POST']) def test2():name=request.form.get('user_name')age=request.form.get('user_age')print("name的值是:{},類型是:{}".format(name,type(name)))print("age的值是:{},類型是:{}".format(age, type(age)))#文件上傳的,注意:需要在表單中添加屬性enctype="multiple/form-data"f=request.files['image']f.save('./static/demo.jpg')return "post請求成功"if __name__ == '__main__':#0.0.0.0:代表當前系統中的所有的ip地址 默認端口是5000,flask的debug模式:把錯誤信息顯示在頁面中app.run(host='0.0.0.0',port=8080,debug=True)

注意:

文件上傳的,注意:需要在表單中添加屬性enctype="multiple/form-data"
把文件的字節變成連續不間斷的字節流,有統一的報頭和包流

總結

以上是生活随笔為你收集整理的【Flask】request请求的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。