【已解决】Flask项目报错AttributeError: ‘Request‘ object has no attribute ‘is_xhr‘

文章目录

报错及分析

报错代码

python 复制代码
  File "/www/kuaidi/6f47274023d4ad9b608f078c76a900e5_venv/lib/python3.6/site-packages/flask/json.py", line 251, in jsonify
    if current_app.config['JSONIFY_PRETTYPRINT_REGULAR'] and not request.is_xhr:
AttributeError: 'Request' object has no attribute 'is_xhr'

分析

这个问题是后端代码中的问题。

根据错误日志,'Request' 对象没有属性 'is_xhr'。这是因为在较新的 Flask 版本中,'is_xhr' 属性已被废弃。为了解决这个问题,可以使用 'is_ajax' 属性来代替 'is_xhr'

可以将代码中的 not request.is_xhr 改为 not request.is_ajax,这样应该可以解决这个错误。

将以下部分:

python 复制代码
if current_app.config['JSONIFY_PRETTYPRINT_REGULAR'] and not request.is_xhr:

更改为:

python 复制代码
if current_app.config['JSONIFY_PRETTYPRINT_REGULAR'] and not request.is_ajax:

此时发现代码中并没有这句,其实这句代码是在flask代码中。比如观察本报错,路径为/www/kuaidi/6f47274023d4ad9b608f078c76a900e5_venv/lib/python3.6/site-packages/flask/json.py,修改这个文件中的对应行即可。

python 复制代码
  File "/www/kuaidi/6f47274023d4ad9b608f078c76a900e5_venv/lib/python3.6/site-packages/flask/json.py", line 251, in jsonify
    if current_app.config['JSONIFY_PRETTYPRINT_REGULAR'] and not request.is_xhr:
AttributeError: 'Request' object has no attribute 'is_xhr'

解决方案

必要的解决方法

将文件(文件路径看具体报错)
/www/kuaidi/6f47274023d4ad9b608f078c76a900e5_venv/lib/python3.6/site-packages/flask/json.py中的

python 复制代码
if current_app.config['JSONIFY_PRETTYPRINT_REGULAR'] and not request.is_xhr:

更改为:

python 复制代码
if current_app.config['JSONIFY_PRETTYPRINT_REGULAR'] and not request.is_ajax:

可能有用的解决方法

观察库的版本是否合适,比如调整Flask库,Werkzeug库。

相关推荐
火白学安全11 分钟前
《Python红队攻防脚本零基础编写:入门篇(一)》
python·安全·web安全·网络安全·系统安全
梦想的初衷~42 分钟前
Python驱动的无人机多光谱-点云融合技术在生态三维建模与碳储量、生物量、LULC估算中的全流程实战
python·无人机·遥感·多光谱
一晌小贪欢1 小时前
Python爬虫第3课:BeautifulSoup解析HTML与数据提取
爬虫·python·网络爬虫·beautifulsoup·python爬虫·python3·requests
好家伙VCC1 小时前
**发散创新:渗透测试方法的深度探索与实践**随着网络安全形势日益严峻,渗透测试作为评估系统安全的
java·python·安全·web安全·系统安全
机器学习之心1 小时前
一个基于无干扰增量容量(IC)和差分电压(DV)分析的锂离子电池健康状态(SOH)与剩余寿命(RUL)预测的Python实现
python
Bellafu6667 小时前
selenium常用的等待有哪些?
python·selenium·测试工具
小白学大数据8 小时前
Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
爬虫·python·ajax
allk558 小时前
OkHttp源码解析(一)
android·okhttp
allk558 小时前
OkHttp源码解析(二)
android·okhttp
aFakeProgramer8 小时前
拆分PDF.html 办公小工具
okhttp