我正在开发一个烧瓶应用程序:https://github.com/josephmalisov/todo_list 当我在计算机上运行它时,我被告知(红色警告):
Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
首先,这不是自相矛盾吗
但我主要想知道开发服务器和生产部署之间的区别。当我在heroku上运行它时,它是有效的,那么做这个冗长的Deploy to Production教程有什么好处呢
要回答您的“主要问题”,如文件所述:
如果你是唯一一个使用应用程序的人,这在Heroku上对你来说并不明显,但随着越来越多的用户访问你的应用程序,Flask服务器将无法很好地处理这一点(与Gunicorn之类的东西相比,它的设计不是这样的)
您所引用的“环境”字符串实际上是一个配置设置,允许您告诉应用程序如何操作。例如,通过将环境设置为“开发”(即
export FLASK_ENV=development
),您将从应用程序和生产中不需要的任何扩展中获得某些行为,例如抛出错误时的交互式调试。如果设置为“生产”,您将无法获得这些行为这里没有真正的矛盾:应用程序没有配置为作为“开发”在本地运行,这与flask开发服务器的使用无关
烧瓶文档非常棒,因此我建议您查看烧瓶文档,了解烧瓶的工作原理。还可以看看米格尔·格林伯格(Miguel Grinberg)的优秀系列教程
相关问题 更多 >
编程相关推荐