Loading

Flask中的request和response

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

posted @ 2022-01-27 15:19  想睡觉的人  阅读(183)  评论(0编辑  收藏  举报