Flask Web开发实战:1.3-启动开发服务器

命令行启动

在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的情况

原文地址:https://www.cnblogs.com/my_captain/p/12916358.html