在models.py
class Production(models.Model):
titre = models.CharField(max_length=255, blank=True)
publis = JSONField()
def __str__(self):
return '%s' % (self.titre)
class Meta:
db_table = 'Production'
在Views.py
中def post_json(request):
posts = Production.objects.all()
return render(request, 'appli/post_json.html', {'posts': posts})
*和模板:post_json.html *
这完全展示了我的json数据
{% for post in posts %}
<div>
<p>aa = {{ post.publis }}</p>
</div>
{% endfor %}
这就是我试图只向作者展示的内容
<h1>Publications lalala</h1>
{% for post in posts %}
aa = {{ post.publis }}
<p> Num : {{ aa.UT }}</p>
<p>Auteur : {{ aa.AU }} </p>
{% endfor %}
我网页上的显示: enter image description here
提前感谢您的帮助(对不起,如果有错误的英语,我是法国人)
答案 0 :(得分:3)
要从Django模板中的post.publis
访问密钥,请使用常规点查找,例如{{ post.publis.UT }}
。
{% for post in posts %}
<p>Num : {{ post.publis.UT }}</p>
<p>Auteur : {{ post.publis.AU }} </p>
{% endfor %}
在您的模板中添加aa = {{ post.publis }}
不会将post.publis
分配给aa
。如果您想阻止重复post.publis
,可以使用with
标记。
{% for post in posts %}
{% with aa=post.publis %}
<p>Num : {{ aa.UT }}</p>
<p>Auteur : {{ aa.AU }} </p>
{% endwith %}
{% endfor %}