在Django的DetailView中指定字段

时间:2014-03-21 14:57:21

标签: django django-views

是否可以使用方便的{{ form.as_ul }}功能,然后使用DetailView{{ object.as_ul }}

换句话说,我正在寻找一个DetailView,它将填充views.py中提供的field。 这样可以避免在模板中手动键入模型的所有字段(如{{ object.first_name }}{{ object.last_name }}{{ object.address_street }}{{ object.address_city }}等)。

这很容易吗?

1 个答案:

答案 0 :(得分:1)

我不知道如何以正确的方式做到这一点,"所以我要告诉你我该怎么做。这将让你开始,直到其他人可以发布更好的答案。

def as_ul(self):
    t = Template('<ul>{% for i in items %}<li>{{ i }}</li>{% endfor %}</ul>')
    c = Context({'items': [getattr(self, x.name) for x in self._meta.fields]})
    return t.render(c)

您可能希望稍微修改一下以过滤掉某些字段名称(例如&#39; id&#39;)。