初次运行时的烧瓶:请勿在生产环境中使用开发服务器
问题内容:
我在PyCharm社区版中安装了Flask插件,而我的flask应用程序中只有以下简单代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '<h1>Hello!</h1>'
if __name__ == "__main__":
app.run(debug=True)
我收到此消息:
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead
* Restarting with stat
* Debugger is active!
* Debugger PIN: 123-456-789
* Running on http://127.0.0.1:5000/
为什么在运行Flask时出现此错误?
该消息的先前版本为“请勿在生产环境中使用开发服务器”。
问题答案:
除非您告知开发服务器它正在开发模式下运行,否则它将假定您正在生产环境中使用它,并警告您不要这样做。开发服务器不适用于生产环境。它的设计目的不是特别高效,稳定或安全。
通过将FLASK_ENV
环境变量设置为来启用开发模式development
。
$ export FLASK_APP=example
$ export FLASK_ENV=development
$ flask run
如果您在PyCharm(或可能是其他任何IDE)中运行,则可以在运行配置中设置环境变量。
开发模式默认情况下启用调试器和重新加载器。如果您不想要这些,请通过--no-debugger
或传递--no-reloader
给run
命令。
但是,该警告只是警告,并不是阻止您的应用运行的错误。如果您的应用无法正常运行,则您的代码还有其他问题。