【发布时间】:2013-10-18 23:26:03
【问题描述】:
我正在用 Django 开发一个网站,其中许多网站的模型实例以标准化格式在许多不同的页面上呈现给用户。我想通过创建标准模型实例模板代码然后将其插入到需要显示模型实例的每个页面来避免模板编码中的冗余。
创建标准化实例显示代码,然后将其添加到许多不同页面的最佳做法是什么?
【问题讨论】:
标签: django django-models django-templates
我正在用 Django 开发一个网站,其中许多网站的模型实例以标准化格式在许多不同的页面上呈现给用户。我想通过创建标准模型实例模板代码然后将其插入到需要显示模型实例的每个页面来避免模板编码中的冗余。
创建标准化实例显示代码,然后将其添加到许多不同页面的最佳做法是什么?
【问题讨论】:
标签: django django-models django-templates
有几种方法可以做到这一点...
一种是使用包含标签并将您的对象传递给模板。另一种类似的方法是创建一个模板标签来渲染对象,如果您需要在渲染之前在 Python 中进行一些额外的处理,这很有用。
另一种方法是向模型添加实例方法以将其自身呈现为 HTML(或其他格式),与表单实例具有 .as_ul 或 .as_p 的方式非常相似,您可以在模板中调用需要。
这两种方式都没有对错,这取决于您最喜欢哪种风格以及最能满足您的需求。
【讨论】:
your_model_instance.as_html