KeyError: ‘staticfiles‘ Django项目遇到这种报错该怎么解决

这个错误表明你的 Django 模板中尝试使用 {% load staticfiles %},但 Django 无法找到 staticfiles 标签库。这通常发生在 Django 3.0 及以上版本中,因为 staticfiles 标签库已被移除,取而代之的是 static 标签库。

解决方法

  1. 替换模板中的 {% load staticfiles %}{% load static %}

    打开你的 Django 模板文件,找到所有包含 {% load staticfiles %} 的地方,将其替换为 {% load static %}

    例如,将以下代码:

替换为:

  • 检查所有模板文件

    如果你有多个模板文件,确保所有文件都做了类似的替换。可以使用搜索工具快速定位并替换所有实例。

  • 确保 django.contrib.staticfilesINSTALLED_APPS

    确保你的 settings.py 文件中 INSTALLED_APPS 列表包含 django.contrib.staticfiles

  • 重启 Django 服务器

    在完成上述修改后,保存文件并重启 Django 服务器:

  • 解释

    Django 3.0 及以上版本移除了 staticfiles 标签库,改用 static 标签库来处理静态文件的引用。如果你在模板中继续使用 {% load staticfiles %},将导致 Django 无法加载相应的模板标签库,从而引发上述错误。

    通过替换模板中所有 staticfiles 标签为 static,并确保 django.contrib.staticfiles 已启用,问题应该可以解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源码空间站11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值