【问题标题】:Flask app hosted on Heroku shows Bokeh plot on my computer but not on any other computerHeroku 上托管的 Flask 应用程序在我的计算机上显示散景图,但在任何其他计算机上都没有
【发布时间】:2019-06-17 02:34:05
【问题描述】:

我是 Flask 和 Heroku 上托管应用程序的新手。我编写了一个相当简单的 Flask 应用程序,当我将它托管在 Heroku 上并转到应用程序 URL 时,它会在我的计算机上正确显示散景图。但是,当我从任何其他计算机访问应用程序 URL 时,应用程序加载正常(没有错误),但不显示绘图。甚至散景图的边界也不见了。您可以从下拉菜单中选择不同的城市,并且 URL 会相应更改,但不会显示任何图。

我试图确定 API 调用或 HTML 文件是否存在问题,但据我所知,这两者都不是我的系统特有的。我也尝试使用我在网上找到的建议修改 Procfile,但没有人改变这种行为。

编辑:我已经弄清楚问题所在。我将在下面详细说明问题(和解决方案),以便如果其他人遇到相同的问题,他们可以查看相同的解决方案是否适用于他们。

至少对我来说,问题出在我的 html 文件中。我已经把它包括在下面了。

<html>
<head>
<link
    href="http://cdn.bokeh.org/bokeh/release/bokeh-0.12.13.min.css" 
    rel="stylesheet" type="text/css">
<link
    href="http://cdn.bokeh.org/bokeh/release/bokeh-widgets-0.12.13.min.css"
    rel="stylesheet" type="text/css">

<script src="http://cdn.bokeh.org/bokeh/release/bokeh-0.12.13.min.js"></script>
<script src="http://cdn.bokeh.org/bokeh/release/bokeh-widgets-0.12.13.min.js"></script>

</head>
<body>
<H1>Cuisine Histogram</H1>

<form action="/">
<select name="zip_code">
    {% for feature in list_of_zips %}
        {% if feature == zip_code %}
            <option selected value="{{ feature }}">{{ feature }} . 
 </option> 
        {% else %} 
            <option value="{{ feature }}">{{ feature }}</option> 
        {% endif %}
    {% endfor %}
</select>
<input type="submit">
</form>

{{ script|safe }}
{{ div|safe }}

</body>
</html>

事实证明,如果将引用和脚本调用从 http 更改为 https,则绘图可以在任何计算机上正确显示。显然,呼叫在 pydata 页面的后台被无声地拒绝。更改为 https 允许他们通过。

【问题讨论】:

  • 你能描述一下其他电脑上显示的内容吗? 500、404、不同的错误?在我看来,错误出在 heroku 的配置中,而不是在代码中
  • 您机器上的所有浏览器是否显示相同的行为?在主浏览器中打开一个隐身窗口怎么样?
  • 感谢 cmets。我正在使用 Chrome。我发现 Chrome 中的隐身窗口确实显示了该图(尽管必须启用脚本),但如果我通过 Safari 打开 URL,则不会显示该图。 (没有显示错误,我仍然正确地获得了邮政编码选项的下拉菜单。

标签: python heroku flask


【解决方案1】:

事实证明,将对散景脚本的调用从 http 更改为 https 解决了这个问题。将链接更改为 https 后,该图在我系统上的所有浏览器以及许多其他计算机上都能正确显示。显然,这些电话可能在后台被默默拒绝,因此为什么没有错误,只是情节应该是一个大的空白空间。

【讨论】:

    猜你喜欢
    • 2012-10-17
    • 2020-11-26
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 2019-08-22
    • 2012-12-13
    • 2016-07-27
    • 2015-10-09
    相关资源
    最近更新 更多