Flask Response及Request

作者: ropon 分类: Flask 发布时间: 2019-03-20 11:34
from flask import Flask, render_template, redirect, jsonify, send_file, request

app = Flask(__name__)


@app.route('/')
def hello_world():
    # return 'Flask Hello'
    return redirect("/login")


@app.route('/login', methods=["GET", "POST"])
def login():
    # print("method:", request.method)
    # print("form:", request.form.to_dict())
    # print(request.form.get("username"))
    # print("get", request.args)
    # print(request.args.get("username"))
    # print(request.path)
    print(request.url)
    print(request.host)
    print(request.host_url)
    # print(request.json)
    # print(request.data)
    # print(request.values)
    # print(request.values.to_dict())
    # print(request.cookies)
    # print(request.headers)
    if request.method == "POST":
        # if request.form.get("username") == "ropon" and request.form.get("password") == "123":
        #     return "登录成功"
        # else:
        #     return "用户名或密码错误"
        # my_file = request.files.get("my_file")
        # my_file.save(my_file.filename)
        return "test"

    return render_template("login.html")


@app.route('/jsontest')
def jsontest():
    return jsonify({"name": "ropon", "age": 18})


@app.route('/filetest')
def filetest():
    return send_file("11.mp4")


if __name__ == '__main__':
    app.run()

# 总结
# 使用前需要先导入
# django                    flask
# HttpResponse("字符串")     return "字符串"
# render("模板文件)          render_template("模板文件")
# redirect("重定向URL")      redirect("重定向URL")

# 额外新增
# jsonify("") 返回标准json字符串
# send_file("") 返回文件内容(自动识别文件类型)

# request.method 请求方式
# request.form 获取formdata中的数据 to_dict() 序列化成字典
# request.args 获取URL中的数据 to_dict() 序列化成字典
# request.values 获取formdata,URL中的数据 URL中数据会覆盖formdata中的数据,不要使用to_dict()
# request.url 获取访问的完整路径
# request.host 获取主机地址
# request.host_url 获取加协议主机地址
# request.path 获取路由地址
# request.json 获取json数据,也就是说请求头中Content-Type:application/json
# request.data 获取原始数据 byte
# request.cookies 获取cookie中的数据
# request.headers 获取请求头
# request.files 获取上传文件信息,通过save(file_obj.filename)方法保存,注意form表单配置enctype="multipart/form-data"

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!