flask简单实现
一、flask 简介
二、flask 安装及简单实现
三、问题
一、flask 简介
Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login, 数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、窗体验证工具,文件上传、身份验证等。Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQL。
简而言之,就是简单,我个人不太喜欢臃肿的框架,这个简单就好
二、flask 安装及简单实现
1、虚拟环境,
如果还不知道怎么布置虚拟环境的可以去看看这: 虚拟环境
workon flask_project
2、安装flask
pip install flask
完成后新建一个py文件,放入下面的代码就可以跑最简单的程序了
from flask import Flask app = Flask(__name__) @app.route("/") def hello_world(): return "<p>Hello, World!</p>"
if __name__ == '__main__':
app.run()
然后在命令行,python app.py
就可以访问命令行的地址了
3、Flask-Session 的使用
flask 默认是有session的使用的
from flask import session session['data'] = "123" # 设置data为123 data = session.get('data', None) # 获取data session.clear# 设置data为123
但是存储是在cookie里面
三、问题
1.接收json数据时
request, 一般有 get_json, get_data, get_json,不一定有
get_data 数据时bytes, 加上 as_text=True, 就可以转换成字符串
request.get_data(as_text=True)
2.一个比较推荐的flask项目结构的参考文章:去看看, 这个是简单翻译了的:去看看
flask本就是自由组合的 轻量的, 根据实际情况搭配自己的项目结构
3.当遇到下图问题时。
请回退flask Werkzeug 的版本, 实验, 2.2.3 版本可以通过。
4. flask 使用jsonify 返回数据时会导致中文返回的时unicode字符串
可以尝试自己配置respose
back = { 'code': code, 'message': msg, 'success': success, 'data': data } back = json.dumps(back, ensure_ascii=False) response = make_response(back) return response
ensure_ascii=False 会让json在转义的时候,不转换中文字符串