【发布时间】:2018-03-31 04:37:31
【问题描述】:
每次我尝试访问 Django 模板中的列表时都会收到此错误消息。我已经检查了类似问题的答案,但问题通常是缺少 % 或某处的其他字符。只要我能看到,情况并非如此:
在这里,我传递了一个 dict,其中包含作为键的项目 id 列表和图像的 URL 列表作为每个 id 的值。我知道我应该将它集成到项目模型中,但由于我仍在使用 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] %}
而且我也收到了同样的错误,即使这是相关答案中推荐的方法 aboput 切片数据通过视图传递。
在这两种情况下我都找不到问题,我认为两者都有某种关联。
我正在使用最新的 Django 1.11.6 和 Python 3.5.2。
【问题讨论】:
-
jinja2 != django 模板;两者是相关的,但 Django 不使用 Jinja,后者最初是受到 Django 模板语法的启发,但完全是一个单独的项目。
-
@MartijnPieters 很高兴知道,我一直认为这是 100% jinja2。这是错误的根源吗?这是 Django 模板的错误语法吗?
-
是的,请看下面我的回答。
-
您不应将
get_item添加到您的INSTALLED_APPS。templatetags目录在您的shop应用程序中,它可能已经在INSTALLED_APPS中。
标签: python django django-templates