gpt4 book ai didi

python - 模板语法错误: Could not parse the remainder

转载 作者:行者123 更新时间:2023-11-30 22:27:43 25 4
gpt4 key购买 nike

每次尝试访问 Django 模板中的列表时,我都会收到此错误。我已经检查了类似问题的答案,但问题通常是缺少 % 或某个地方的其他字符。据我所知,情况并非如此:

这里我传递一个字典,其中包含作为键的项目 id 列表和作为每个 id 的值的图像 URL 列表。我知道我应该将其集成到项目模型中,但由于我仍在使用 SQLite3 进行开发,因此我无法轻松存储列表。无论如何,我对这个问题很感兴趣。所以:

<a href="{% url 'details_view' item_id=item.id %}"><img class="hover-image" src="{{ img_gallery[item.id][0] }}" alt="">

Exception Value:
Could not parse the remainder: '['item.id'][0]' from 'img_gallery['item.id'][0]'

另外,昨天我尝试使用 bootstrap4 flex-grid 轻松实现 5 列。由于我使用分页来检索 20 个项目,因此我的想法是对每行的项目列表(模型)进行切片,例如:

{% for item in items[0:5] %}

我也收到了同样的错误,即使这是有关通过 View 传递切片数据的相关答案中推荐的方法。

在这两种情况下我都找不到问题,而且我认为两者在某种程度上是相关的。

我正在使用最新的 Django 1.11.6 和 Python 3.5.2。

最佳答案

您似乎对 Jinja2 语法和 Django template syntax 感到困惑。 Jinja2 是一个独立的项目,受到 Django 的启发,但 Django 本身并不使用。

在 Django 模板语法中,{{...}} 中的变量始终使用点表示法,[...] 订阅不支持。该语言开箱即用,不支持字典键查找

您可以write a custom filter要实现此目标,如下所示:written by culebrón :

from django.template.defaulttags import register

@register.filter
def get_item(dictionary, key):
return dictionary.get(key)

然后在模板中:

{{ img_gallery|get_item:item.id|first }}

或者,您可以在 Django 项目中改用 Jinja2,替换内置模板语言: How to use jinja2 as a templating engine in Django 1.8

关于python - 模板语法错误: Could not parse the remainder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46824832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com