01 | Flask 入门
1, 安装flask
pip install flask
2, 启动flask:
from flask import Flask app = Flask(__name__) app.run()
3, Flask的路由
@app.route("/home", methods=["GET", "POST"])
4, Response三剑客 + 儿子
return "hello world" # Django HttpResponse 返回字符串 # 返回模板 return render_template("index.html") # 重定向跳转 return redirect("/index") # 打开文件并返回客户端 return send_file("2.mp3") # 返回标准的json格式字符串content-type:application/json return jsonify({"name": "chenrun"})
5, Request:
# 常用的 # form存放form表单中的序列化数据 print(request.form) # args存放URL中的序列化数据 print(request.args) # path路由地址 print(request.path) # 当前请求头content-type无法被识别的数据 print(request.data) # json 当请求头conent-type: application/json print(request.json)
# 其他 # values 存放URL和form表单中的序列化数据, 回出现数据被覆盖现象 print(request.values) # method 存放请求方式 print(request.method) # url 请求全部地址 print(request.url) # host 主机位 print(request.host) # 查看请求头 print(request.headers) # files 获取文件对象 print(request.files.get("file")) file = request.files.get("file") file.save(file.filename)
Jinja2:
{{}} 应用变量 非逻辑代码时使用 {% %} 逻辑代码使用 | safe Markup: from flask import Markup 后台返回安全标识符字符串 {% block jj2 %} {% endblock %} {% include "login.html" %} {% macro func(name, type_name) %} <input type="{{ type_name }}" name={{ name }}> <input type="submit" value="提交文件"> {% endmacro %} {{ func("file", "file") }}
Flask中的Session组件
from flask import session app.secret_ksy = "MD5加密之后的字符串" session被序列化后存放在 浏览器的cookie中
特殊装饰器:
@app.template_global() def a_and_b(a, b): return a+b @app.template_filter() def abc(a, b, c): return a+b+c