我在 Django 项目中渲染模板时遇到了 TemplateSyntaxError。我看到的错误消息是:TemplateSyntaxError at/admin/dashboard/program/add/ Invalid filte...
我在 Django 项目中渲染模板时遇到 TemplateSyntaxError。我看到的错误消息是:TemplateSyntaxError 位于
/admin/dashboard/program/add/
Invalid filter: 'length_is'
Django Version: 5.1
Python Version: 3.12.4
Error Location: This error appears in a Django template at line 22 of the fieldset.html file.
{% for line in fieldset %}
<div class="form-group{% if line.fields|length_is:'1' and line.errors %} errors{% endif %}{% if not line.has_visible_field %} hidden{% endif %}{% for field in line %}{% if field.field.name %} field-{{ field.field.name }}{% endif %}{% endfor %}">
<div class="row">
{% for field in line %}
<label class="{% if not line.fields|length_is:'1' and forloop.counter != 1 %}col-auto {% else %}col-sm-3 {% endif %}text-left" for="id_{{ field.field.name }}">
{{ field.field.label|capfirst }}
{% if field.field.field.required %}
<span class="text-red">* </span>
{% endif %}
</label>
<div class="{% if not line.fields|length_is:'1' %} col-auto fieldBox {% else %} col-sm-7 {% endif %}
{% if field.field.name %} field-{{ field.field.name }}{% endif %}">
我尝试过的:
检查自定义过滤器:
我检查了我的项目及其已安装的软件包,以验证是否有一个名为 length_is 的自定义过滤器。我发现我的项目中没有定义这样的自定义过滤器。
已验证的 Django 安装:
我确保 Django 已正确安装并且更新至 5.1 版本。
已审核的模板代码:
我仔细检查了导致错误的模板代码,发现使用了 line.fields|length_is:'1',但是 length_is 过滤器并不是标准的 Django 过滤器。
搜索软件包 Bug:
我搜索了与 django-jazzmin 相关的文档和错误报告,看是否有提到 length_is 过滤器问题,但我找不到相关信息。
我的期望:
我希望找到:
文档或参考表明 length_is 是标准 Django 过滤器或外部包提供的过滤器。如果 length_is 过滤器是默认情况下未包含的自定义过滤器,则指导如何定义或实现 length_is 过滤器。
解决方案表明该问题可能与版本不匹配或配置问题有关,但可以轻松解决。
由于我找不到有关此过滤器的任何有用信息或文档,因此我不确定如何继续。任何有关在 Django 模板中定义或正确使用 length_is 过滤器的帮助都将不胜感激。