命令行启动
在app.py的父目录下,使用flask run
可以启动内置的开发服务器。但是注意到,这里的Debug mode为off
自动发现程序实例
- 在当前目录下,寻找app.py和wsgi.py模块,并从中寻找名为app或application的程序实例
- 从环境变量FLASK_APP对应的值寻找名为app或application的程序实例。如果程序的模块名为其他名字,比如hello.py,需要设置环境变量FLASK_APP,将包含程序实例的模块名赋值给这个变量
set FLASK_APP=hello
- 如果安装了python-dotenv,使用flask run或者其他命令时会使用它自动从.flaskenv文件和.env文件中加载环境变量
管理环境变量
使用pipenv install python-dotenv
安装python-dotenv。当安装了python-dotenv时,Flask在加载环境变量的优先级是:手动设置的环境变量 > .env中设置的环境变量 > .flaskenv设置的环境变量
在根目录下分别创建两个文件.env和.flaskenv。.env是用来存储包含敏感信息的环境变量,比如用来配置Email服务器的账号和密码,.flaskenv是用来存储和Flask相关的公开环境变量,比如FLASK_APP
这两个文件中,环境变量通过key=value的形式定义,注释以#开头(注释最好用英文,使用中文容易报错)
Pycharm启动
更多启动选项
服务器对外可见
上面启动的Web服务器默认是对外不可见的,可以在run命令后添加--host选项将主机地址设为0.0.0.0使其对外可见
flask run --host=0.0.0.0
更改默认端口
flask run --port=8000
备注
以上更改也可以通过环境变量设置,在.flaskenv中设置。另外.flaskenv要放在hello目录下,和app.py并列,否则会出现找不到app的情况