django中常用显示元素(表格等)的可重用模板

时间:2011-11-16 15:08:21

标签: django templates

我正在构建一个django应用程序,它在几个不同的页面上具有相似的显示元素。

例如,projects.html页面有一个列出项目和一些相关信息的表格; documents.html页面有一个类似的表

似乎应该有一种方法来定义“my_kind_of_table”模板,然后根据需要将其插入不同的页面:

{% proj_list | create_my_kind_of_table:name,description,last_update %}

然后......

{% doc_list | create_my_kind_of_table:name,header,owner %}

我怀疑django已经可以做到这一点,但我不知道该搜索什么。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

{% include ... %}怎么样?

要添加所有表需要的上下文变量,那么您有三个选择的解决方案:一个是我称之为“老式”的方式,并且具有需要添加上下文的所有视图调用的特殊功能功能。第二个是创建一个函数装饰器,用于返回响应的函数。如果您使用新的基于类的1.3视图,则可以使用第三种方法,然后您可以创建视图类继承的mixin类,并在其自己的get方法中添加这些内容。

答案 1 :(得分:1)

自定义模板标记和过滤器可实现此目的:https://docs.djangoproject.com/en/dev/howto/custom-template-tags/