打印字典列表到模板

时间:2014-09-21 04:46:13

标签: python django django-templates

这可能是个愚蠢的问题,但这里的新手需要一些帮助

我需要将字典打印到模板

template_var = {}
settings = Article.objects.filter().values('title','content')
for some in settings:
    pprint.pprint(some)

控制台日志的输出是

{'content': u'add blog ', 'title': u'blog here'}
{'content': u'fweferwgfwefw', 'title': u'few'}
{'content': u'fsvbfsvbsfvsdfv', 'title': u' fsfsbfsbvsfvb'}

这是我将some传递给template_var['article']= some的方式。在我的HTML中,我喜欢这个

{% for content in some %}
    {{ content }}
{% endfor %}

但那不起作用。

2 个答案:

答案 0 :(得分:2)

您正在settings声明中重复for

for some in settings:
    pprint.pprint(some)

但是,视图代码正在将some而不是settings传递给模板,并对其进行迭代。除此之外,代码将变量传递为article,但它在模板中用作some

让它们保持一致:

查看

template_var['settings'] = settings

<强>模板

{% for some in settings %}
    {{ some }}
{% endfor %}

答案 1 :(得分:0)

如果你想将dictonary打印到模板,你可以做

在viwes.py中

return render(request, "template.html", { 'settings' : settings})

并在template.html中

这是为了获得整个dictonary

{% for set1 in settings %}
  {{set1}}
{% endfor %}

这是为了获得dictonary的每个元素

   {% for set1 in settings %}
          {{set1.content}}<br/>
{{set1.title}}
        {% endfor %}