【发布时间】:2011-01-01 13:52:37
【问题描述】:
我正在制作一个显示用户选择的 youtube 视频的网站。用户可以为每个视频输入评论。
我要显示(按此顺序):
用户评论
视频标题
我已经创建了视图并创建了以下字典项目列表。每一个代表一个视频。我将此发送到我的 html 页面:
[
{"my_own_object": vid_obj1, "youtube_obj": obj1}
{"my_own_object": vid_obj2, "youtube_obj": obj2}
]
“youtube_obj”是youtube提供的对象,包含url、title、评分等。“my_own_object”包含用户的cmets等信息。
我遍历列表并获得一个字典/视频。没关系。然后我需要显示视频的信息:
{% for key,value in list.items %}
{% if key = "my_own_object" %}
<div>
<p>{{value.user_comment}}</p>
</div>
{% endif %}
{% if key = "youtube_obj" %}
<div>
<p> {{value.media.title.text}}</p>
</div>
{% endif %}
{% endfor %}
这行得通,除了因为我无法确定字典顺序,我可能会得到:
视频标题
用户评论
我认为我可以通过分配变量(然后以正确的顺序打印值)来解决这个问题,但我仍然对我无法分配变量的事实感到震惊!
那么,我该如何解决这个问题?我可以提取我需要的键/值而不是遍历字典项吗?我尝试寻找方法来做到这一点,但没有运气。还有其他想法吗? (我需要传递两个视频对象,因为稍后我可能需要比评论和标题更多的信息。)
【问题讨论】: