Falsk 简介
Flask 是非常流行的 Python web 框架, 流行的主要原因有:
- 文档齐全, 上手快
- 本身内核足够精简, 有非常好的扩展机制和第三方扩展环境 (熟悉 node 的童鞋类比 Express/Koa)
- 社区活跃度高
- 开发者自由有很大的选择空间
Falsk 主要依赖三个库:
- Jinja2: 默认的模班引擎
- Werkzeug: 一个包含 WSGI, 路由, 调试的工具集
- Itsdangerous: 基于 Django 的签名模块
安装 Python
正确的安装 python.
安装 pyenv
Python 版本管理神器 - pyenv https://zhuanlan.zhihu.com/p/36402791
安装 pipenv
pipenv https://zhuanlan.zhihu.com/p/37581807 被誉为新一代 Python 项目环境与依赖管理工具.
flask 的最小应用
想看英文文档的可以阅读 Basic Usage of Pipenv https://pipenv.readthedocs.io/en/latest/basics/ .
创建一个工作目录, 使用 pipenv shell.
安装 flask, 通过 pipenv install flask
pycharm 基本配置
这里主要是配置你的开发环境, 你需要配置对应项目的解释器
项目的目录结构以及最小的 flask 应用
- # 导入 Flask 类, 该类的实例作为我们的 WSGI 应用
- from flask import Flask
- # 创建实例, 传入应用模块名字或者包名, 这个参数是必须的
- # 一般传入__name__来确定程序的根目录
- App = Flask(__name__)
- # 通过路由装饰器, 把路由与视图进行映射
- @App.route('/')
- def hello_world():
- return 'Hello, World!'
- # 如果是其他文件引用该模块文件是不会执行 App.run()
- if __name__ == '__main__':
- App.run()
启动之后你在浏览器能看到:
值得注意的是, 默认的 App.run 启动服务后, Flask 只会监听虚拟机的本地 127.0.0.1 这个地址, 端口为 5000. 这个时候我们用 ip 去访问是会报错的, 所以我们最好修改下 host, port.
你去查看 App.run() 的源代码可以看到:
- def run(self, host=None, port=None, debug=None,
- load_dotenv=True, **options):
所以我们只需要这样改:
- # 0.0.0.0 表示监听所有地址, 这样其他电脑就可以访问你的程序了.
- if __name__ == '__main__':
- App.run(host='0.0.0.0', port='9999')
调试模式
上面源码中我们发现还可以传递一个 debug 选项, 相信大多数人应该猜到了调试. 是的设置 debug 为 True, 即开启调试模式.
开启调试模式有如下好处:
服务器在代码修改后自动重新载入 (node 有 nodemon)
发生错误时会提供一个获得错误上下文执行代码的调试页面
开启调试模式的方法有:
- # 在应用对象上设置
- App.debug = True
- # 作为 run 参数传入
- App.run(debug=True)
值得注意的是调试模式仅用于开发环境, 生产环境我们一般使用 Nginx+uWSGI.
来源: https://juejin.im/post/5c43f947f265da61561f888b