如何给"包含"模板添加上下文?

app*_*orm 1 django django-templates

是否有可能缩小包含的背景.

例如,我有来自posts数组的"for"标签 - 一个帖子.我想把这篇文章放在"include"标签内以更详细地呈现.有自定义标签吗?

Cid*_*ide 6

虽然我在解释你的问题时遇到了一些问题,但我相信你所寻找的是django所谓的"包含标签".它们写起来很简单:

>>> from django import template
>>> register = template.Library()
>>> @register.inclusion_tag('my_template.html')
>>> def my_tag(post):
>>>     return {'post': post}
Run Code Online (Sandbox Code Playgroud)

这应该放在你的一个应用程序中名为"templatetags"的python模块内(不要忘记__init__.py!).然后,您可以加载它(如果您将文件命名为my_tag.py),如下所示:{% load my_tag %}.每当你{% my_tag post %}在该点之后使用时,Django将自动包含并呈现模板my_template.html,其中包含由标签的返回值指定的上下文.有关更多信息,请参阅Django的自定义模板标记.