【问题标题】:Django template for loop - dependant on variable. 'int' object is not iterable循环的 Django 模板 - 取决于变量。 'int' 对象不可迭代
【发布时间】:2018-01-08 15:45:52
【问题描述】:

我想在 Django 模板中运行 for 循环,其中范围取决于变量的值。

对于名称的大小,添加一个空格。名称是一个字符串值。

{% for i in person.name|length %}                          
     
 {% endfor %}

运行此代码会产生一个 'int' object is not iterable Django 错误。

但是,调用以下方法会显示名称的长度

{{ person.name|length }}

谢谢!

【问题讨论】:

  • 这种格式最好使用 HTML/CSS,而不是添加一堆不间断的空格。例如。使用右文本对齐:w3schools.com/cssref/pr_text_text-align.asp
  • 不幸的是,

标签: python django loops templates


【解决方案1】:

在 python 中你不能循环一个整数。这不起作用:

for i in 4:
    # error

这就是您当前在模板中使用 for 循环所做的事情。您可以遍历字符串中的每个字符:

for c in person.name:
    # no error

您可以在模板中按如下方式执行此操作:

{% for c in person.name %}                          
     
{% endfor %}

【讨论】:

  • 谢谢,这很有帮助。我的目标是为 30 个字符以下的名称添加一个空格(用于填充)。像 {% for i in (30 - person.name) %} 之类的...我会看看我能不能做到这一点。
猜你喜欢
  • 2013-12-16
  • 1970-01-01
  • 2012-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-10
  • 1970-01-01
相关资源
最近更新 更多