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

Django屏蔽CacheKeyWarning缓存键长度警告的正确配置方法

Django 3.2 屏蔽CacheKeyWarning缓存键长度警告的正确实现方式

失效原因

之前操作不生效的核心问题是文件路径、命名不符合Django的模块加载规则:Django不会主动扫描management文件夹下自定义命名的management.py文件,写在里面的代码根本不会被项目启动流程加载。

按官方文档要求的正确存放步骤

  • 先确认你用来放代码的自定义app已经加入settings.py的INSTALLED_APPS配置列表,否则该app下的所有模块都不会被Django识别
  • 在目标app的根目录下创建符合Python包规范的目录结构:
    1. 新建名为management的文件夹,在文件夹内创建空文件__init__.py,将该目录标记为可导入的Python包
    2. 在management文件夹内新建名为commands的子文件夹,同样在子文件夹内创建空的__init__.py文件(这一步是Django识别management模块的必需结构,哪怕你不写自定义命令也要建)
  • 把警告屏蔽代码写入management/__init__.py文件中,代码内容如下:
import warnings
from django.core.cache import CacheKeyWarning

warnings.filterwarnings("ignore", category=CacheKeyWarning)
  • 保存文件后重启Django服务,警告就会被完全屏蔽。

更简便的替代方案

如果不想严格按照management模块的结构建目录,可以直接把上面的警告过滤代码写到项目settings.py的最末尾,全局生效,不需要依赖app的模块加载逻辑,效果完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 14:48:34