一.简单了解flask web框架
优点: 小而精,组件只有session,第三方机构强烈支持flask,极其简单
缺点: 由于第三方软件的关系,稳定性相对较差,flask-session
扩展知识:
QPS = 请求每秒的次数
时间片 : CPU工作一次的时间单位
二.Flask的启动
三行代码启动:
from flask import Flask app=Flask(__name__) #实例化Flask对象 app.run() #启动Flask
六行代码启动Flask hello :
from flask import Flask app=Flask(__name__) @app.route('/hello') def hello(): return 'hello' app.run(debug=True) #debug的意思是每次启动自动刷新代码,不需要再手动启动代码
Flask响应
Response 三贱客 httpresponse 相当于 'hello' render 相当于 render_template('login.html') redirect 相当于 redirect('/login') flask封装 send_file() return send_file('文件的路径') 打开并返回文件内容 确定会在响应头中加入content-type:文件格式 + content-length :文件大小 jsonify({k:v}) return jsonify({k:v}) 返回一个客户端可以识别的json格式字符串,会在响应头中加入content-type:application/json
Flask request
1.request.args 获取URL中的数据 2.request.form 获取FormData中的数据 3.request.values 获取args+form 知道就可以了 4.request.data 流 # 获取请求体中的原始数据 5.request.json 字典 # 请求头中带有Content-Type:application/json , 将请求体中的数据反序列化到json中 但是在data中依然存储这原始数据bytes 6.request.files 获取FormData中的文件数据 request.files.get("my_file") request.files.save(默认提交的文件名) 记住:request.method
5.jinja2 -template
语法和django大概一致,只是django中在模板中不能使用中括号和小括号,但是在flask中可以使用
{{ }} 引用,执行函数 {% %} 逻辑代码
6.session (flask中的session,与django中的session不同)
from flask import session app.secret='序列化session需要的字符串' 在视图函数中 session['key'] = 'values'
扩展 restAPI
请求响应为json
请求支持的协议为http 8种请求方式
这里我们列举5种
GET , POST ,PUT ,DELETE ,OPTIONS
查 , 增 ,改 , 删 , 跨域请求