1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| 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"
|