假如运行 python -m flask 命令失败或者 flask 命令 不存在,那么可能会有多种原因导致失败。首先应该检查错误信息。
- 老版本的FLask
版本低于0.11的FLask,启动方式是不同的。
这种情况下有两个选择,一是升级Flask到更新的版本,二是参阅Flask文档,学习其他启动服务器的方法。
2. 非法导入名称
FLASK_APP
环境变量中储存的是模块的名称,运行flask run 命令就会导入这个模块。如果模块的名称不对,那么就会出现导入错误。出现错误的时机是在应用开始的时候。如果调试模式打开的情况下,会在运行到应用开始的时候出现导入错误,出错信息会告诉您尝试当如哪个模块时候出错,为什么会出错。
最常见的错误是因为拼写错误而没有真正创建一个app
对象
3.调试模式
flask run
命令不止可以启动开发服务器。如果您打开调试模式,那么如武器会在修改应用代码之后自动重启,并且当请求过程中发生错误时还会在浏览器中提供一个交互调试器。
风险提醒:
调试器允许执行来自浏览器的任意Python代码。虽然它由一个 pin 保护,但仍然存在巨大安全风险。不要在生产环境中运行开发服务器或调试器。
如果需要打开所有开发功能,那么需要运行 flask run
之前设置 FLASK_ENV
环境变量为development
。