8

我的模板中有以下代码:

{% include "entry_table/cell.html" with data_items = data_fields class="entry_table_title" only%}

这给了我以下错误:

"with" in 'include' tag needs at least one keyword argument.

我尝试用字符串替换 data_field (这是我传递到上下文中的变量),以防万一这是导致问题的原因,但即使我做到了:

{% include "entry_table/cell.html" with data_items = "unicorn" class="entry_table_title" only%}

我仍然得到同样的错误。解决这个问题的唯一方法是完全摆脱 data_items,如下所示:

{% include "entry_table/cell.html" with class="entry_table_title" only%}

所以有什么问题?

注意:我刚刚意识到 data_items 也是一个变量,它被传递到调用另一个模板的页面的上下文中,但是当我将名称更改为其他名称时,它仍然不起作用。所以这不是问题。

4

3 回答 3

24

在这种情况下,看起来 Django 对空格非常挑剔。如果我改变...

{% include "entry_table/cell.html" with data_items = data_fields class="entry_table_title" only%}

...到...

{% include "entry_table/cell.html" with data_items=data_fields class="entry_table_title" only%}

...这个对我有用。

于 2013-06-15T16:13:51.300 回答
0

我有一个非常相似的问题。只有我在使用破折号,这显然不允许在变量名中使用。

我知道这是一个较老的问题,并且已经得到了充分的回答,但是这是密切相关的,并且提出了搜索,所以为了后代...

{% include "partials/forum-panel-header.html" with forum-name="demo name" forum-thread-count="22" forum-post-count="30" %}

有必要将破折号更改为下划线...

{% include "partials/forum-panel-header.html" with forum_name="demo name" forum_thread_count="22" forum_post_count="30" %}

在我以这种方式编写许多变量名之前知道这一点会很高兴,并且必须返回所有嵌套文件来修复它们。

我当然可以找到答案,如果我看的话,但当时我什至没有意识到我需要一个答案。

好吧,然后我确实找到了答案(当我意识到存在问题时),在这里的另一篇文章中,在这个帖子下的搜索中出现了(这就是我在这个帖子上发布的原因)。

于 2017-09-13T23:31:18.907 回答
0

我遇到了同样的错误,修复它很容易,您只需要摆脱空格撇号,您的代码将是这样的:

{% include "entry_table/cell.html" with_data_items=unicorn class="entry_table_title" only%}

它会修复你的代码

于 2021-10-11T14:54:43.300 回答