python - Django 嵌套字典显示在模板中

标签 python django django-templates

我有一本看起来像这样的字典

dict = {
'https://i.redd.it/4d87ifm2mch01.jpg': 'https://reddit.com/7yv1d8', 
'https://i.redd.it/ru0bq0jpr9h01.jpg': 'https://reddit.com/7ys0l3',
 'videos': {'https://gfycat.com/ifr/selfassuredinfinitehochstettersfrog'},..
}

'videos'将值存储为一组,这样我就不会出现重复的 url,而且很方便。 但我遇到了一个问题,如何在模板中显示嵌套字典? 我现在就是这样的

{% for keys,values in data.items%}

{% for i,j in keys.items %}
<iframe src='{{j}}' frameborder='0' scrolling='no' allowfullscreen width='300' height='300'></iframe>


<a class="thumbnail" href="{{values}}"><img src="{{keys}}" width="100px" height="66px" border="1" /><span><img src="{{keys}}" /><br />whatever.</span></a>
<br />

我想要'videos'要存储在 <iframe> 中的值以及其他作为图像。

最佳答案

keys 上调用 .items 可能会引发错误,因为它们是字符串,而且我不知道 data 包含什么,但是假设它被发送到您 View 中的模板,例如:

return render(request, "myapp/index.html", {"data": dict})

然后你可以检查key equals“videos”,并迭代该集合:

{% for key, value in data.items %}
  {% ifequal key "videos" %}
  <iframe ...>
    {% for url in value %}
      <a class="thumbnail" href="{{ url }}">{{ url }}</a>
    {% endfor %}
  </iframe>
  {% endifequal %}
{% endfor %}

关于python - Django 嵌套字典显示在模板中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48890736/

相关文章:

python - 将txt文件解析为2个csv文件

python - Python 3人工智能:离线STT和TTS

python - Rest框架中的ViewSet和Router

python - 如何访问django模板中的字典值

python - 以 Django 模板语言快速运行 if 语句

python - 如果每个值都相等,则删除 pandas 数据框行

python - 我如何在不重置的情况下在django中使用forloop计数器

django - 如何呈现不在 UL 中的 Django 表单错误?

python - 通过django模板中的键获取字典值

python - ReadTimeout : HTTPSConnectionPool(host ='' , 端口=443) : Read timed out. (读取超时=10)