Flask的request和response
Flask中的request
每个框架中都有处理请求的机制(request),但是每个框架的处理方式不同但机制都是大同小异。
# request.method 提交的方法
# request.args get请求提及的数据
# request.form post请求提交的数据
# request.values post和get提交的数据总和
# request.cookies 客户端所带的cookie
# request.headers 请求头
# request.path 不带域名,请求路径
# request.full_path 不带域名,带参数的请求路径
# request.url 带域名带参数的请求路径
# request.base_url 带域名请求路径
# request.url_root 域名
# request.host_url 域名
# request.host 127.0.0.1:500
这里需要特别注意,request.args
获取的是浏览器地址栏后面加的参数信息,而request.form
用于获取post请求中表单的信息,这也是最常用到的。
Flask中的response
在Flask中你想向前端返回数据,必须是response
对象
response用于设置浏览器回复客户端的信息(即响应头),有一系列方法来设置响应头的参数,常用来设置cookie等信息
from flask import Flask, request, Response
app = Flask(__name__)
@app.route('/login', methods=["get", "post"])
def login():
if request.method == "POST":
response = Response()
name = request.form.get("name")
pwd = request.form.get("pwd")
if name and pwd:
if name == '朱宇' and pwd == '123':
response.data = '登陆成功'
# 注意,我这里只是写个例子,不会拿明文的账号密码设置为cookie
response.set_cookie('name', '朱宇')
response.set_cookie('pwd', '123')
else:
response.data = '用户名或密码错误'
else:
response.data = '用户名或密码不能为空'
return response
elif request.method == 'GET':
# 我这里返回字符串表示一个页面,你完全可以写一个html页面,使用render_template这个方法返回
return 'login.html'
if __name__ == "__main__":
app.run(debug=True)
参考博客
https://www.cnblogs.com/baijinshuo/p/10235932.html
https://www.cnblogs.com/zhuchunyu/p/10466509.html
https://www.cnblogs.com/baijinshuo/p/10235932.html