前言
在Flask中,使用request请求信息
一、导入
在使用request之前,先进行导入
from flask import request
二、请求对象
使用 method 属性可以操作当前请求方法,通过使用 form 属性处理表单数据(在 POST 或者 PUT 请求 中传输的数据)
from flask import Flask
from flask import render_template
from flask import request
app = Flask(__name__)
@app.route('/login', methods=['POST', 'GET'])
def login():
error = None
if request.method == 'POST':
if request.form['username'] == 'test':
return request.form['username']
else:
error = 'Invalid username/password'
return render_template('login.html', error=error)
if __name__ == '__main__':
app.run()
三、登录模板
模板目录:\templates\login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>login 表单</title>
</head>
<body>
<form method="post">
<div>
<label for="user">用户名</label>
<input name="username" id="user" placeholder="输入用户名">
</div>
<input type="submit" value="提交按钮">
<div>
<p>{% if error %} {{ error }} {% endif %}</p>
</div>
</form>
</body>
</html>
四、运行结果
访问路径:http://127.0.0.1:5000/login
五、args 属性
操作 URL (如 ?key=value )中提交的参数可以使用 args 属性:
searchword = request.args.get('key', '')
from flask import Flask
from flask import render_template
from flask import request
app = Flask(__name__)
@app.route('/login', methods=['GET'])
def search():
key = request.args.get('user')
return f'查询到用户:{key}'
if __name__ == '__main__':
app.run()
访问路径:http://127.0.0.1:5000/login?user=panpan
运行结果:
完整的请求对象方法和属性参见 Request 文档