这是我的代码:
{% for i in range(7)%}
<option value={{i+1}}> {{i+1}}</option>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但它显示错误,
我能做什么 ,
谢谢
java中有一个forloop,我可以告诉它从哪里开始,到哪里结束:
for(int i=10;i<array.length;i++){
}
Run Code Online (Sandbox Code Playgroud)
但我如何int i=10在django模板中实现这一点?我怎样才能自己设定起点和终点?
有一个forloop.first和forloop.last,但它们是在循环中定义的,我不能做这样的事情?:
{{forloop.first=10}}
{% for athlete in athlete_list %}
<li>{{ athlete.name }}</li>
{% endfor %}
{{forloop.last=20}}
Run Code Online (Sandbox Code Playgroud)
我读了django doc,但这个功能似乎不存在
我试图list_length在 for 循环中迭代 a 。是list_length一个int作为上下文变量传递给模板的对象。但是当我尝试这样做时,它给出了这个typeError。有人可以帮忙吗?
{% for i in list_length %}
<tr>
<td>{{ i }}</td>
</tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud) 我试图在我的模板中使用 for 循环,但出现错误。
这是金贾:
{% for i in range(1,10) %}
<h2>{{i}}</h2>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
这是错误:
django.template.exceptions.TemplateSyntaxError: Could not parse the remainder: '(1,10)' from 'range(1,10)'
Run Code Online (Sandbox Code Playgroud)
我有点困惑。这表明它有问题,range甚至它不存在,但我在其他 Stack Overflow 帖子中看到它被建议作为解决方案,例如这个:
如何在 Jinja2 中模拟 while 循环
jinja/django 中是否存在范围?如果是,为什么这不起作用,如果不是,最好的选择是什么?
我的自定义标签:
# app/templatetags/ctags.py
def getgenre():
genre = ["Test1", "Test2"]
return genre
register.simple_tag(getgenre)
Run Code Online (Sandbox Code Playgroud)
我的HTML:
# app/templates/base.html
{% load ctags %}
<!-- {% getgenre %} -->
{% for genre in getgenre %}
<li>{{genre}}</li>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
这为我呈现了一个空白页面.如果我取消注释{%getgenre%},则django按预期呈现["Test1","Test2"].我已经尝试了无数种设置我的标签(包括非simple_tag方式)的变化无济于事.我无法迭代我的一个自定义标记返回的任何值.
我错过了一些基本的东西吗?
我想在django模板中创建一年的下拉列表.下拉列表将包含2011年的开始年份,而结束年度应为当年的5年.
例如:如果今天我看到它将显示我2011年,2012年,2013年,2017年的年份.
可以通过从views.py发送列表并在模板中循环或在forms.py中定义来完成.
但我不想在这里使用任何形式.我只需要在模板中显示它.
我怎么能在Django模板中做到这一点.
我正在构建一个 django 模板来根据从视图传递的参数来复制图像;然后,模板在 for 循环中使用 Jinja2 来复制图像。
但是,我只能通过传递我在视图中创建的列表来使其工作。如果我尝试使用 jinja 范围,则会收到错误(“无法解析其余部分:...”)。
阅读此链接,我发誓我使用了正确的语法。
模板
{% for i in range(variable) %}
<img src=...>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我检查了我传入的变量;它是 int 类型。哎呀,我什至尝试摆脱变量(用于测试)并尝试使用硬编码数字:
{% for i in range(5) %}
<img src=...>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
无法解析余数:“range(5)”中的“(5)”
如果我将参数字典中的列表传递给模板(并使用该列表代替范围语句),它就会起作用;无论我想要多少次,图像都会重复。