gpt4 book ai didi

python - Django 模板不显示循环键、值

转载 作者:行者123 更新时间:2023-12-01 03:03:35 26 4
gpt4 key购买 nike

我对 Django 非常陌生,我试图弄清楚为什么我可以按预期调用模板中字典中的键,但循环字典不会产生任何文本,也不会产生任何错误消息。我不想对键名称进行硬编码(即模板中的 msgid 下面,因为字典是动态的,所以我只想循环遍历它。

views.py

class Pymat_program(View):
def get(self, request, *args, **kwargs):
selected_xml = 'a_directory_to_my_file'
smsreport_dict = self.parse_xml_file(selected_xml)
html = self.populate_html_text(smsreport_dict)

return HttpResponse(html)

def populate_html_text(self, smsreport_dict):
t = get_template('template2.html')
html = t.render(smsreport_dict)

return html

template2.html

    <p>MSGID: {{ msgid }}</p>

<p> Begin
{% for key, value in smsreport_dict %}
<tr>
<td> Key: {{ key }} </td>
</tr>
{% endfor %}
</p>End

在 template2.html 中,您可以看到正在调用 msgid 值(smsreport_dict 中的几个值之一),该值显示在我的页面上。但由于某种原因,smsreport_dict 循环不会产生文本。我哪里出错了?

最佳答案

smsreport_dict 应位于 Context 内您用来渲染模板:

...
html = t.render(Context({"smsreport_dict": smsreport_dict}))
...

另外,您在迭代模板中的字典时忘记调用 .items:

{% for key, value in smsreport_dict.items %}
...

关于python - Django 模板不显示循环键、值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43614037/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com