官方文档:Flask Document
Flask可以搭建轻量api,而且使用python语言编写程序,非常方便。以前也使用过php做服务器后端,但是不喜欢php的$,而且我想多学学python,没想到Flask框架恰好能满足我的需求,简直是一个神器!特别适合我这种非计算机专业人士学习,能快速搭建api,为前端web、微信小程序等提供api服务,非常nice,爱了爱了
pip3 install Flask
from flask import Flask,request
project/
app/ # 整个程序的包目录
static/ # 静态资源文件
js/ # JS脚本
css/ # 样式表
img/ # 图片
favicon.ico # 网站图标
templates/ # 模板文件
common/ # 通用模板
errors/ # 错误页面
user/ # 用户模板
posts/ # 帖子模板
email/ # 邮件发送
views/ # 视图文件
models/ # 数据模型
libs/ #工具类
framework/ #全局性的工具
utils/ #小工具
extensions/ # 各种扩展
forms/ # 表单文件
main.py # 邮件发送
migrations/ # 数据库迁移目录
tests/ # 测试单元
venv/ # 虚拟环境
requirements.txt # 依赖包的列表
config.py # 配置文件
manage.py # 项目启动控制文件
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
在app实例化的时候设置
app = Flask("my-app", static_folder="path1", template_folder="path2")
app.run(debug=True)
注意:如果在开发环境中debug,要在app.run前加上
app.env="development"
否则,会出现WARNING: This is a development server. Do not use it in a production deployment.
app.run(host='0.0.0.0', port=80, debug=True)
要用flask的request
from flask import request
request.args.__str__()
:列出所有参数
request.args.get('')
:取出指定参数的第一个参数(如果有好多的话)
request.args.getlist('')
:取出指定参数列表
request.form.get("")
@app.route('/api',methods=['GET','POST'])
def api():
#以下两行是展示form中处理文件以外的所有item
# for item in request.form:
# print(item)
d1 = request.form.get("l1")
d2 = request.form.get("l2")
d3 = request.form.get("l3")
file = request.files.get('file')
print(file)
dict = {"code":"200","data":"处理完毕"}
return jsonify(dict)
request.json # 返回的是dict类型
读取cookie
name=request.cookies.get('Name')
return name
设置Cookie并返回
response.set_cookie('Name','value')
return response
方案一 (返回JSON对象,并设置请求头)
from flask import Response
return Response(json.dumps(text), mimetype='application/json')
方案二(使用jsonify)
from flask import jsonify
return jsonify(text)
from flask_cors import * # 没有库请安装
app = Flask("name")
CORS(app, supports_credentials=True)
abort(404)