当前位置: 首页 > 知识库问答 >
问题:

请求对象没有属性is_xhr

方航
2023-03-14

我正在尝试运行布谷鸟api。布谷鸟网在我的系统上运行良好。但当我尝试布谷鸟api时,我得到了以下错误:

File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1982, in wsgi_app
  response = self.full_dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1614, in full_dispatch_request
  rv = self.handle_user_exception(e)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1512, in handle_user_exception
  return self.handle_http_exception(e)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1471, in handle_http_exception
  return handler(e)
File "/usr/local/lib/python2.7/dist-packages/cuckoo/apps/api.py", line 719, in api_auth_required
  401, "Authentication in the form of an "
File "/usr/local/lib/python2.7/dist-packages/cuckoo/apps/api.py", line 36, in json_error
  r = jsonify(message=message)
File "/usr/local/lib/python2.7/dist-packages/flask/json.py", line 251, in jsonify
  if current_app.config['JSONIFY_PRETTYPRINT_REGULAR'] and not request.is_xhr:
File "/usr/local/lib/python2.7/dist-packages/werkzeug/local.py", line 347, in __getattr__
  return getattr(self._get_current_object(), name)

AttributeError: 'Request' object has no attribute 'is_xhr'

2020-04-02 18:50:39,640 [werkzeug] INFO: 192.168.100.94 - - [02/Apr/2020 18:50:39] "GET / HTTP/1.1" 500 -

我试图更改api。通过添加以下代码:

@app.route("/publish/epoch/end/", methods=['POST'])
def publish():
    #payload = request.form.get('data')
    payload = unquote(request.data.split('=')[1]).replace('+','')
    try:
       `enter code here` data = json.loads(payload)
    except:
        return {'error':'invalid payload'}

    def notify():
        msg = str(time.time())
        for sub in subscriptions[:]:
            sub.put(payload)

    gevent.spawn(notify)
    return "OK"

@app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        model.save()
        # Failure to return a redirect or render_template
    else:
        return render_template('index.html')

但这对我没有帮助。这个问题的解决方案是什么?

共有3个答案

乐正翰
2023-03-14

request.is_xhr属性从Werkzeug 0.13开始被弃用,并在Werkzeug 1.0.0中被删除。使用Flask时会出现此错误

$ pip install -U flask

否则,也可以将Werkzeug降级为0.16.1:

$ pip install werkzeug==0.16.1
徐飞尘
2023-03-14

request.is_xhr方法已被弃用

您可能需要将本地版本的Werkzeug固定到与布谷鸟固定版本的Flask(此处示例)兼容的东西上,直到布谷鸟更新到新版本的Flask。

沈旻
2023-03-14

根据这个github问题,另一个选项是在配置文件中禁用JSONIFY\u PRETTYPRINT\u REGULAR。

class Config:
  # Other configs
  JSONIFY_PRETTYPRINT_REGULAR = False

app = Flask(__name__)
app.config['JSONIFY_PRETTYPRINT_REGULAR'] = False
 类似资料:
  • 问题内容: 我正在尝试在Python中获取url参数。 我正在使用此代码: 但我收到此错误: 问题答案: 你想request.args在Flask中使用GET参数。 要访问通过URL(?key = value)提交的参数,可以使用args属性:

  • //id找不到错误点,并且没有搜索解决方案 属性错误在 /product/3'WSGIRequest'对象没有属性'get'请求方法:GET请求URL:http://127.0.0.1:8000/product/3Django版本:3.1.6异常类型:属性错误异常值: 'WSGIRequest'对象没有属性'get'异常位置:C:\用户\vudgh\anaconda3\lib\site-pack\

  • 这是我的密码: 这条线给了我错误 "属性错误:'浮点'对象没有属性'exp'"。X,t是Numpy ndarray。

  • 问题内容: 我正在开发Django应用程序,并且出现以下错误 我的模型是这样构造的 我应该做什么? 问题答案: 首先,您必须非常小心地重写以具有非可选参数。记住,每次从一个查询集中获取一个对象时,它将被调用! 这是您想要的正确代码: 如果您只使用该对象的子类,我强烈建议在Animal上设置abstract选项。这样可以确保不为动物创建表,而仅为绵羊(等)创建表。如果未设置abstract,则将创建

  • 我创建了这个简单的GUI: 我让用户界面启动并运行。当我点击按钮时,我在控制台上得到以下错误: 为什么设置为?

  • 问题内容: 我将Selenium webdriver(chrome)与Python结合使用,试图从网页上的所有链接中获取 href 。当我尝试以下操作时: 它设法获取所有链接,但是在get_attribute上出现错误: “ WebElement”对象没有属性“ Get_Attribute” 尽管到处都看起来很正常。 问题答案: “ Get_Attribute”属性不存在,但是“ get_attr