python - 为什么 PyCharm 不在 HTTPS 中运行烧瓶 webapp?
问题描述
我在我的应用程序末尾包含了以下代码行:
if __name__ == "__main__":
app.run(ssl_context="adhoc")
但是当我在 PyCharm 中运行项目时得到的输出是
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
但是,当我使用命令 python app.py 从终端(Alt+F12)运行应用程序时,我得到了输出
* Running on https://127.0.0.1:5000/ (Press CTRL+C to quit)
这背后的原因是什么?有没有办法使用 PyCharm 运行它?每次输入命令是相当乏味的。
解决方案
所以首先:
# get app from somewhere
app = create_app()
if __name__ == "__main__":
app.run(ssl_context="adhoc")
它仅在您直接启动脚本(如python main.py
. 在这种情况下,__name__
等于"__main__"
。
其次,当您使用flask run
我认为是您的 IDE 使用的方式运行您的应用程序时,if
条件将是False
,因此该行app.run(ssl_context="adhoc")
甚至不会运行。
最后,如果你想在生产中使用它,你应该app
直接配置。或者使用反向代理服务器,例如nginx
. 其实我推荐后一种方法。
推荐阅读
- angular - 如何将值分配给角度 2 中的参考变量?
- python - AttributeError:“LdaModel”对象没有属性“minimum_phi_value”
- ios - 使用 | 找到了哪个 NSRegularExpression 操作员
- encryption - 输入错误密码以解锁被 Cryptojs 加密的内容时显示通知框
- python-3.x - 为 pandas 中相互依赖的类别创建虚拟变量
- javascript - 无法读取未定义的属性“搜索”-webpack-dev-server
- xamarin - 将推送注册从 Xamarin.Forms Android 发送到 Azure 通知中心
- web-services - 无法在 ColdFusion 中进行 CFHTTP 调用
- javascript - React native -> 获取并显示
- php - /authorize.php 重定向到 ssl 并在尝试更新 Drupal 7 中的模块后找不到