将 Flask 应用程序部署到 Heroku 时出现奇怪的 “is_xhr” 错误

共1个回答, 标签: heroku flask

我有一个烧瓶应用程序,我已经部署到 Heroku,其中一条路线如下

Def get_kws ():
Seed_kw = 请求。json [“第一参数”]
Audience_max = 请求。json [“第二参数”]
兴趣服务 = 兴趣服务 (seed_kw,audience_max)
Query_result = interest_mining_service.query_keyword ().tolist ()
如果在 query_result 中 seed_kw:
打印 (“是”)
返回 jsonify (
{
'关键字 _ 数据': 兴趣 _ 挖掘 _ 服务。find_kws ()。to_json (东方 = '记录'),
'Query_results': query_result
}
)

当我在本地测试此端点时,向该端点发送 POST 和 GET 请求时没有问题。然而,当我部署到 Heroku 时,我得到以下错误:

文件 ”/应用程序/服务器/控制器。 py ",24 行,在 get_kws 2020-02-08T22: 31: 05.893850 00:00 app [web.1]: 'query_results': query_results 2020-02-08T22: 31: 05.893850 00:00 app [web.1]: 文件 ”/app/. heroku/python/lib/python 3.6/站点包/烧瓶/json。 py ",298 行,在 jsonify 2020-02-08T22: 31: 05.893851 00:00 应用程序 [web.1]: 如果当前 _ 应用程序.配置 ['jsonify_prettyprint _ 常规'] 并且不请求。 is_xhr: 2020-02-08T22: 31: 05.893851 00:00 app [web.1]: 文件 "/app/. heroku/python/lib/python 3.6/站点包/werkzeug/local. py ",347 行,inGetattr2020-02-08T22: 31: 05.893852 00:00 app [web.1]: 返回 getattr (self. _ get_current _ 对象 (),名称) 2020-02-08T22: 31: 05.893858 00:00 应用程序 [web.1]: AttributeError: 'request' 对象没有属性 'is _ xhr'

我从未见过这个错误Request object has no attribute 'is_xhr'以前,它似乎只发生在我部署到 Heroku 的时候。关于我应该调查什么有什么指导吗?

也似乎出了问题的 json 钥匙keyword_data - the issue seems limited to query_results这是一个列表。

第1个答案
    The Werkzeug library (dependency from Flask) recently received a major update (0.16.1 --> 1.0.0) and it looks like Flask (<=0.12.4) does not restrict it.

你有两个选择:

  • 坚持使用您当前版本的 Flask,并限制在应用程序的 setup.py 或 requirements.txt 中明确获取的 Werkzeug 版本 (werkzeug<1.0)

  • 升级到最新版本的烧瓶 (> = 1.0),它似乎在最新的 Werkzeug 上运行良好

相关问题

TypeError: 无法读取未定义的 makeStyles.js 的属性 &ldquo;附件&rdquo; 将 Flask 应用程序部署到 Heroku 时出现奇怪的 &ldquo;is_xhr&rdquo; 错误 如何阻止 Heroku 更改位置标头并使用我的 Spring 引导 OAuth2 服务导致401? 如何解决 Alpine docker 容器内烧瓶应用 Gunicorn exec 上提出的 &ldquo;oserror: libc 未找到&rdquo; 选择烧瓶后不显示下拉选择值? 烧瓶和 Keras 模型错误 &#39;&#39;_ thread._ local &#39;对象没有属性&#39; value&#39; &#39;?