当前位置:  开发笔记 > 编程语言 > 正文

从Django中的视图返回HTML元素

如何解决《从Django中的视图返回HTML元素》经验,为你挑选了1个好方法。

我正在尝试将视图中的图像返回到Django中的模板.目前我的视图有一个我想要在表中显示的数组,但是以不同的方式(大多数元素作为字符串,但特别是作为图像)

items = [
  ['an apple', ''], 
  ['a pear', ''], 
  ['an orange', ]
]

在我的模板中,


{% for fruit in items %}
  
  {% for element in fruit %}
    
  {% endfor %}
  
{% endfor %}
{{ element }}

这会打印出文字字符串,而不是显示图像pear.png.

有没有办法告诉模板将元素插入代码而不是呈现为字符串?



1> Cyrbil..:

过滤器safe将字符串标记为在输出之前不需要进一步的HTML转义.


{% for fruit in items %}
  
  {% for element in fruit %}
    
  {% endfor %}
  
{% endfor %}
{{ element | safe }}

旁注:您还可以将项目结构转换为字典,以便更轻松,更清晰地使用:

items = {
  'an apple': '', 
  'a pear': '', 
  'an orange': ''
}

模板:


{% for fruit, img in items.items %}
  
{% endfor %}
{{ fruit }} {{ img | safe }}

最后,您还可以只在dict中添加图像源,并避免使用safe:

items = {
  'an apple': 'apple.png', 
  'a pear': 'pear.png', 
  'an orange': 'orange.png'
}

模板:


{% for fruit, img in items.items %}
  
{% endfor %}
{{ fruit }}

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有