我正在构建一个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已经可以做到这一点,但我不知道该搜索什么。有什么建议吗?
答案 0 :(得分:2)
要添加所有表需要的上下文变量,那么您有三个选择的解决方案:一个是我称之为“老式”的方式,并且具有需要添加上下文的所有视图调用的特殊功能功能。第二个是创建一个函数装饰器,用于返回响应的函数。如果您使用新的基于类的1.3视图,则可以使用第三种方法,然后您可以创建视图类继承的mixin类,并在其自己的get
方法中添加这些内容。
答案 1 :(得分:1)
自定义模板标记和过滤器可实现此目的:https://docs.djangoproject.com/en/dev/howto/custom-template-tags/