通過表單自動產生get請求的參數
相關代碼如下:
import flaskapp = flask.Flask(__name__)@app.route('/')
def login():html = '''<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>flask表單實現get數據拼接</title></head><body><form action="#" method="get">user <input type="text" name="user"/> </br>sex <input type="radio" name="sex" value="male"> 男<input type="radio" name = "sex" value="female"> 女</br><input type="submit" value="提交"></form></body></html>'''return htmlif __name__ == '__main__':app.run(debug=True)
執行結果如下:
提交后數據在服務端接收到的數據
key是:user、sex
對應的value是:姓名、male/female
還可以通過flask.request.values.get(‘key’,‘’)來獲取對應的數據,執行結果如下
form表單實現POST請求的自動提交
post請求和get請求的區別是在method方法上把get改成post即可
關于路由方式需要調整的說明
import flaskapp = flask.Flask(__name__)# Method Not Allowed
# The method is not allowed for the requested URL.
# 報錯提示是說路由不允許提交get請求,需要調整路由,加上method,需要把get和post都加上,
# 因為第一次沒有點擊表單時候是get請求,提交的時候才是post請求,所以需要兩者都支持
@app.route('/', methods=['GET', 'POST'])
def login():html = '''<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/html"><head><meta charset="UTF-8"><title>表單實現get數據拼接</title></head><body><form action="#" method="post">user <input type="text" name="user"/> <br />sex <input type="radio" name="sex" value="male"/> 男<input type="radio" name="sex" value="female"/> 女<br /><input type="submit" value="提交"></form></body></html>'''user = flask.request.values.get("user",'')sex = flask.request.values.get("sex",'')return html +f'<div>您輸入的數據為:{user = }, {sex = }</div>'if __name__ == '__main__':app.run(debug=True)
調整后重啟測試
這時候可以通過檢查通過“載荷/負載”這里看到傳輸的參數,這時候在請求路徑里面已經看不到參數了,相對于get請求來說更加安全一點兒