Django中的复合通用视图?

时间:2012-12-29 17:04:01

标签: django django-views django-generic-views

我正在开发我的第一个Django项目。我需要显示一个复合页面,其中包含一对多数据库关系的两面。尽量尝试Django-y,我考虑(基于类)通用视图。由于没有内置的通用视图有任何相似之处,因此我使用SingleObjectMixinMultipleObjectMixin将复合通用视图混合在一起,这也意味着我必须扩展基类View类。

回顾过去,对于(在我看来)应该是非常微不足道的事情来说,这似乎很多工作,我认为我采取了错误的方法来解决这个问题。所以我转向SO社区寻求帮助:

  • 这个问题的正确解决方案是什么?
  • 你会如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

我只需使用DetailView(使用SingleObjectMixin),并通过模板中实例的访问属性访问相关对象:

<h2>Main Object</h2>
<p>{{ object.some_field }}</p>
<h2>Related Object</h2>
{% with related=object.related_whatever %}
    <p>{{ related.some_field }}</p>
    <p>{{ related.other_fied }}</p>
{% endwith %}