2013-10-11 45 views
1

我正在Django开发一个网站,许多网站的“模型”实例以标准格式呈现给用户,并在许多不同的页面上呈现给用户。我想通过创建标准模型实例模板代码来避免模板编码中的冗余,然后在需要显示模型实例的每个页面中插入它。如何在django中生成标准化的模型实例模板代码?

创建标准化实例显示代码然后将其添加到许多不同页面的最佳做法是什么?

回答

2

实现这一点有几种方法?

一种方法是使用一个包含标签和你的对象传递给模板。另一种类似的方法是创建一个模板标签来渲染对象,如果您需要在执行渲染之前在Python中进行额外的处理,这非常有用。

另一种方式是一个实例方法添加到您的模型本身呈现为HTML(或其他格式),几乎相同的方式形式实例有.as_ul.as_p,你可以在你的模板在需要时调用。

这两种方式都不对,它取决于你最适合的风格以及最适合你需求的方式。

+0

感谢您的回复,我认为添加一个实例到html的渲染方法添加到模型类将适用于我目前的用例。我可以直接从模板中的实例对象调用函数,还是需要将函数的输出预加载到模板的上下文中? – user220419

+0

您应该能够直接在模板中引用该方法,如:'your_model_instance.as_html' – Brandon