通过表单自动产生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请求来说更加安全一点儿