Flask框架基础
时间:2020-03-08 17:40:52
收藏:0
阅读:80
基本用法:
pip install flask
#导入 from flask import Flask #实例化 app = Flask(__name__) #路由系统 @app.route("/index") #视图函数 def index(): return "首页"
1.Flask请求方法(Response三剑客)

from flask import Flask, redirect, render_template, jsonify, send_file app = Flask(__name__) @app.route("/") def index(): return redirect("/login") @app.route("/login") def login(): return render_template("index.html") @app.route("/json") def json(): a = {"name":"alex","age":1} return jsonify(a) @app.route("/file") def file(): return send_file(‘timg2XPV7QMI.jpg‘) app.run(debug=True) ‘‘‘Response三剑客: HttpResponse: return "Hello World" 返回字符串至客户端 from flask import render_template render : return render_template("login.html") 与Django中的 render 使用一致 返回模板由浏览器渲染 from flask import redirect redirect: return redirect("/login") # 302 跳转,重定向URL Flask中小儿子: 1.from flask import jsonify retrun jsonify({name:111}) # 返回json标准的字符串 Content-Type:application/json 2.from flask import send_file return send_file(path) # 打开文件并返回文件内容(自动识别文件格式) ‘‘‘
2.falsk 中的 request

from flask import Flask, redirect, render_template, jsonify, send_file, request app = Flask(__name__) @app.route("/") def index(): return redirect("/login") @app.route("/login",methods=("POST","GET")) def login(): if request.method == ‘GET‘: return render_template("login.html") else: return "登陆成功" ‘‘‘from flask import request request.method # 请求方式 request.form # 存放FormData中的数据 to_dict 序列化成字典 request.args # 获取URL中的数据 to_dict 序列化成字典 request.url # 访问的完整路径 request.path # 路由地址 request.host # 主机地址 request.values # 获取 FormData and URL中的数据 不要用to_dict request.json # 如果提交时请求头中的Content-Type:application/json 字典操作 request.data # 如果提交时请求头中的Content-Type 无法被识别 将请求体中的原始数据存放 byte request.cookies # 获取Cookie中的数据 request.headers # 获取请求头 request.files # 序列化文件存储 save() ‘‘‘
3.flask使用的模板语法(jinja2语法)

Jinja2 {{}} 引用变量 执行函数 {%%} 逻辑代码 |safe Markup 安全标签字符串 @app.template_global() @app.template_filter() {% macro create_input(na,ty) %} {{ na }} : <input type="{{ ty }}" name="{{ na }}"> {% endmacro %} {{ create_input("username","text") }}
4.flask使用session的方法

from flask import Flask, render_template, redirect, request, session app = Flask(__name__) #1.设置session——key app.secret_key = "Jackman" @app.route("/") def index(): #3.取session if not session.get("user"): return redirect("/login") return "首页视图" @app.route("/login",methods=("POST","GET")) def login(): if request.method == "GET": return render_template("login.html") else: #2.设置session session["user"] = request.form.get("user") return redirect("/") app.run(debug=True) ‘‘‘Flask 中的 Session app.secret_key = "加密字符串" # 用于序列化和反序列化 session信息 由于Flask中默认Session 存放位置 - 客户端的Cookies中 所以Session需要加密 用到 secret_key 请求进入视图函数 带上cookie 将Session从cookie序列化出来 通过secret_key 反序列化成字典 Flask-Session ‘‘‘
原文:https://www.cnblogs.com/cou1d/p/12443663.html
评论(0)