如何迭代jinja2模板中的此属性?

326

在查看方法中,我这样做:

 for i in range(0,15):
       setattr(object, 'f%d' % i, 'abc')

所以现在我有属性f1,f2,f3,f4,f5。那我该如何在jinja2模板中迭代呢?

这样的事情,或者我不知道:

 {%for i in range(0,15)%}
   {{f}}i
{%endfor%}

编辑:在视图方法中,form ['select%d'| format(i)]不起作用,但在模板中起作用

def method():       
class F(Form):
    pass
count=0

for attempt in e.attempts_of_exam:
    setattr(F, 'select%d'%count, SelectField(attempt.attempter.username,
                                    validators=[validators.optional()],
                                    choices=[('A', 'A'), ('B', 'B'), ('C', 'C'),
                                     ('D', 'D'), ('E', 'E'), ('FX', 'FX'),
                                     ('n/a', 'n/a')]))
    count +=1

form = F()
i =0
if form.validate_on_submit():
    for attempt in e.attempts_of_exam:
        attempt.result = form['select%d'|format(i)].data
        i +=1
    db.session.commit()
    return redirect(url_for('attempts_of_exam',id=e.id))


else:
    return render_template('update_exam_results.html',
        form=form,
        count=count,
        exam = e)

然后在模板中

{{ form.hidden_tag() }}
    <table border='1'>
            {% for i in range(count) %}
            <tr>
                <td> 
                    {{ form['select%d'|format(i)].label}}
                </td>
                <td>
                    {{ form['select%d'|format(i)]}}
                </td>
            </tr>
            {% endfor %}
    </table> 
马丁·彼得斯(Martijn Pieters)

您可以使用项目访问权限:

{% for i in range(15) %}
    {{ object['f%d'|format(i)] }}
{% endfor %}

但最好还是改用列表。

对于表单,只需在表单对象上循环:

{% for field in form %}
    <td>
        {{ field.label }}
    </td>
    <td>
        {{ field }}
    </td>
{% endfor %}

在您看来,您可以访问form.data对象中的结果这只是一本字典:

if form.validate_on_submit():
    for i, attempt in enumerate(e.attempts_of_exam):
        attempt.result = form.data['select%d' % i]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在jinja2模板中构建此循环

来自分类Dev

如何在jinja2模板中构建此循环

来自分类Dev

迭代 Jinja2 模板中的字典列表

来自分类Dev

Ansible Jinja2模板迭代遍历

来自分类Dev

如何在Jinja2模板中访问引用对象的属性(Google App Engine)

来自分类Dev

如何使用Jinja2模板在烧瓶中解码

来自分类Dev

如何在Jinja2模板中修改SelectField宽度

来自分类Dev

如何填充存储在 Ansible 变量中的 Jinja2 模板?

来自分类Dev

如何从 jinja2 模板中获取单个值?

来自分类Dev

如何分析Jinja2模板?

来自分类Dev

包含模板中的Jinja2变量

来自分类Dev

在 jinja2 模板列表中列出

来自分类Dev

如何扩展模板调用jinja2中的另一个模板?

来自分类Dev

Jinja2 API:如何获取模板的继承模板?

来自分类Dev

在敲除属性绑定下使用Jinja2模板

来自分类Dev

在jinja2中,如何两次包含相同的模板,但传递不同的变量

来自分类Dev

如何在Flask中为动态生成的jinja2模板注册过滤器?

来自分类Dev

jinja2模板中未定义变量时如何删除行

来自分类Dev

如何在图像的Jinja2模板中嵌入python代码?

来自分类Dev

如何在Jinja2模板Django中为“ for in”循环计算所有元素

来自分类Dev

如何在Jinja2模板中为变量指定列?

来自分类Dev

如何在Jinja2模板中显示date_time字段?(烧瓶)

来自分类Dev

在jinja2中,如何两次包含相同的模板,但要传递不同的变量

来自分类Dev

如何在python中为jinja2设置基本模板?

来自分类Dev

如何在Jinja2模板中引用变量变量

来自分类Dev

如何消除Ansible Jinja2模板中的宏调用之间的多余空格?

来自分类Dev

如何检查jinja2 / django模板中任何变量的大小写?

来自分类Dev

如何使用 Jinja2 在移动和桌面中删除重复的模板继承?

来自分类Dev

如何在Python程序中使用Jinja2模板?

Related 相关文章

  1. 1

    如何在jinja2模板中构建此循环

  2. 2

    如何在jinja2模板中构建此循环

  3. 3

    迭代 Jinja2 模板中的字典列表

  4. 4

    Ansible Jinja2模板迭代遍历

  5. 5

    如何在Jinja2模板中访问引用对象的属性(Google App Engine)

  6. 6

    如何使用Jinja2模板在烧瓶中解码

  7. 7

    如何在Jinja2模板中修改SelectField宽度

  8. 8

    如何填充存储在 Ansible 变量中的 Jinja2 模板?

  9. 9

    如何从 jinja2 模板中获取单个值?

  10. 10

    如何分析Jinja2模板?

  11. 11

    包含模板中的Jinja2变量

  12. 12

    在 jinja2 模板列表中列出

  13. 13

    如何扩展模板调用jinja2中的另一个模板?

  14. 14

    Jinja2 API:如何获取模板的继承模板?

  15. 15

    在敲除属性绑定下使用Jinja2模板

  16. 16

    在jinja2中,如何两次包含相同的模板,但传递不同的变量

  17. 17

    如何在Flask中为动态生成的jinja2模板注册过滤器?

  18. 18

    jinja2模板中未定义变量时如何删除行

  19. 19

    如何在图像的Jinja2模板中嵌入python代码?

  20. 20

    如何在Jinja2模板Django中为“ for in”循环计算所有元素

  21. 21

    如何在Jinja2模板中为变量指定列?

  22. 22

    如何在Jinja2模板中显示date_time字段?(烧瓶)

  23. 23

    在jinja2中,如何两次包含相同的模板,但要传递不同的变量

  24. 24

    如何在python中为jinja2设置基本模板?

  25. 25

    如何在Jinja2模板中引用变量变量

  26. 26

    如何消除Ansible Jinja2模板中的宏调用之间的多余空格?

  27. 27

    如何检查jinja2 / django模板中任何变量的大小写?

  28. 28

    如何使用 Jinja2 在移动和桌面中删除重复的模板继承?

  29. 29

    如何在Python程序中使用Jinja2模板?

热门标签

归档