gpt4 book ai didi

django - 如何访问 Django 模板中键的值?

转载 作者:行者123 更新时间:2023-12-04 05:44:26 24 4
gpt4 key购买 nike

新手问题:
我有一个带有 extra_Context 的字典渲染来自 views.py 中定义的方法

我的观点:

 extra_context = {
'comment': comment
}
return direct_to_template(request, 'events/comment_detail.html', extra_context)

如果我打印 comment它打印是这样的:
[{'comment': u'first', 'user': 2}, {'comment': u'second', 'user': 2}]

我想将这本字典传递给我的模板。我尝试使用以下代码:
       <tbody>
{% for obj in comment %}
{% for key,val in obj.items %}
<tr class="{% cycle 'odd' 'even' %}">
<td> {{val}}</td>
</tr>
{% endfor %}
{% endfor %}
</tbody>

它打印:
first
2
second
2

我想这样:
first  2
second 2

..等等

我应该添加什么才能像上面那样?

更新!
 def comment_detail(request, object_id):
comment_obj = EventComment.objects.filter(event = object_id)
comment = comment_obj.values('comment','user')
extra_context = {
'comment': comment
}
return direct_to_template(request, 'events/comment_detail.html', extra_context)

comment_detail.html
<form action="" method="POST">
<table>
<thead>
<tr><th>{% trans "Comments" %}</th><th>{% trans "Timestamp "%}<th>{% trans "User" %}</th></tr>
</thead>
<tbody>
{% if comments %}
{% for com in comment %}
<td> {{com.comment}}</enter code heretd>
<td> {{com.user}}</td>
{% endfor %}
{% else %}
<td> No comments </td>
{% endif %}
</tr>
</tbody>
</table>
</form>

最佳答案

您不需要嵌套的 for迭代 k,v .我刚试过这个:

查看:

def testme(request):
comments = []
comments.append({'user': 2, 'comment': 'cool story bro'})
comments.append({'user': 7, 'comment': 'yep. cool story'})

extra_context = {
'comments': comments
}

return render_to_response('testapp/testme.html', extra_context )

模板:
{% if comments %}
<b>Comments:</b>
<ul>
{% for comment in comments %}
<li>{{ comment.comment }} (id {{ comment.user }})</li>
{% endfor %}
</ul>
{% else %}
<b>No comments</b>
{% endif %}

关于django - 如何访问 Django 模板中键的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10871327/

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