Django模板-用于遍历变量

cnh2zyt3  于 2023-08-08  发布在  Go
关注(0)|答案(1)|浏览(109)

我正在寻找一种在Django模板中迭代变量的方法。在模板中,我不知道如何在for循环中分配变量。
在ListView的get_context_date中,我将两个文件的数据分配给两个变量,如:

context[f"{t_name}_header"] = db_oper
    context[f"{t_name}_body"] = db_header

字符串
为两个文件生成上下文,其结果为var,如:

context["test1_header"]
    context["test1_body"]
    context["test2_header"]
    context["test2_body"]`


test1和test2是从model填充的名称。我可以在模板中使用object_list访问它们。
在模板html文件中,我想迭代上下文,如:

{% for object in object_list %}
    {% for item in object.name|add:"_header" %} 
    ...do stuff
    {% endfor %}
    {% for item in object.name|add:"_body" %} 
    ...do stuff
    {% endfor %}
    {% endfor %}`


在HTML模板中,我什么也没得到。
如何正确过滤for循环中的变量,使其可以通过eq。test1_header?

wf82jlnq

wf82jlnq1#

你可以改变你的数据结构。例如使用dict:

context['list'] = {}

for t_name in t_names:
    context['list'][t_name] = {"header": db_oper, "body": db_header}

字符串
然后在您的模板中:

{% for data in list %}
    {% for item in data.header %} 
        ...do stuff
    {% endfor %}
    {% for item in data.body %} 
        ...do stuff
    {% endfor %}
{% endfor %}

相关问题