我想遍歷Django模板中的模型值的字典 - 我想列出每個模型字段的verbose_name以及它的值。這裏有什麼問題?在Django模板中迭代字典
下面是我在models.py:
class Manors(models.Model):
structidx = models.IntegerField(primary_key=True, verbose_name="ID")
county = models.CharField(max_length=5, null=True, blank=True, verbose_name="County")
def get_fields(self):
d = {}
#d["database"] = "pubs"
#d["uid"] = "sa"
for field in Manors._meta.fields:
d[field.verbose_name(self)] = field.value_to_string(self)
return d
而且在views.py:
manor_stats = Manors.objects.get(structidx__exact=id)
return render_to_response('template.html', { 'place' : place, 'manor_stats' : manor_stats }, context_instance = RequestContext(request))
而且在模板:
<h4>Statistics</h4>
<ul>
{% for key, value in manor_stats.get_fields %}
<li> {{ key }}: {{ value }} </li>
{% endfor %}
</ul>
但我只是得到一個奇怪,扭曲看起來像列表:
u: i
d: a
如果我在models.py中使用硬編碼值(如上所示註釋),它甚至不會工作。
這裏有什麼問題?一直在努力工作,這一點數小時:(
----------修訂---------------
與
def get_fields(self):
d = {}
for field in Manors._meta.fields:
d[field.verbose_name(self)] = { "verbose": field.verbose_name(self), "value": field.value_to_string(self) }
return d
嘗試
和模板:
<h4>Statistics</h4>
<ul>
{% for key, value in manor_stats.get_fields %}
<li> {{ key }}: {{ value }}</li>
{% endfor %}
</ul>
只是產生一個空白列表....
I先生,沒有你的話。:* – vanguard69 2015-07-08 21:31:14