You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django 4.2集成Sentry SDK触发KeyError: 'request'问题求助

Django 4.2 + Sentry SDK 2.13.0 触发上报时出现 KeyError: 'request' 问题

问题详情

  • 项目基于Django 4.2,搭配Sentry SDK 2.13.0和django-cms 3.11.6
  • 每次触发Sentry上报(自动错误上报或手动调用上报info/warning日志),都会伴随生成多个KeyError: 'request'错误
  • 原始错误可正常显示在Sentry平台,说明核心上报功能未完全失效
  • 问题在升级项目依赖(重点是Django升级到4.2)后出现
  • 已在模板配置中添加django.template.context_processors.request上下文处理器,但未解决问题
  • 不通过Sentry上报时,仅显示原始业务错误,无KeyError异常

相关配置

Sentry初始化配置

import sentry_sdk
from sentry_sdk.integrations.django import DjangoIntegration

sentry_sdk.init(
    dsn="XXXX",
    integrations=[DjangoIntegration()],
    server_name='XXXX',

    send_default_pii=True
)

模板上下文处理器配置

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            ...
        ],
        'OPTIONS': {
            'context_processors': [
                'django.contrib.auth.context_processors.auth',
                'django.template.context_processors.debug',
                ...
                'django.template.context_processors.request',
                ...
            ],
            'loaders': [
                ...
            ],
        },
    }
]

错误堆栈信息

KeyError
'request'

django/template/context.py in __getitem__ at line 83

cms/templatetags/cms_tags.py in _get_empty_context at line 636

...

django/core/handlers/exception.py in inner at line 55

解决思路与建议

  • 临时规避:修改Sentry的DjangoIntegration配置,尝试禁用模板上下文追踪(如DjangoIntegration(tracing=False)),或调整send_default_pii参数,测试是否能阻止该异常触发,同时确保核心上报功能正常。
  • 检查依赖兼容性:确认django-cms 3.11.6与Django 4.2的适配情况,尝试升级django-cms到同分支的最新补丁版本,看是否修复了相关上下文处理的兼容问题。
  • 调试上下文生成逻辑:在cms/templatetags/cms_tags.py的_get_empty_context方法中添加日志输出,查看Sentry上报流程中调用该方法时的上下文状态,判断是否未正确传入request对象。可给该方法添加request的容错处理,避免直接通过__getitem__引发KeyError。
  • 调整Sentry SDK版本:尝试降级Sentry SDK到2.13.0之前的稳定版本,或升级到最新版,验证是否解决了依赖间的兼容冲突。
  • 过滤异常上报:在项目全局异常处理逻辑中,针对KeyError: 'request'进行过滤,若该异常来自Sentry上报流程,则跳过二次上报。

内容的提问来源于stack exchange,提问作者Nicolas Lusa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 03:42:21