Django 我可以在包含标记中使用templatetags吗?
我编写了一个包含标记和两个TemplateTag,用于将投票代码呈现为html 如您所见,有一个用于渲染的包含标记的投票按钮。在模板中,我试图在同一个文件中使用是由投票的,而是由投票的。它呈现模板,但templatetags在没有给出任何错误的情况下无法工作Django 我可以在包含标记中使用templatetags吗?,django,django-templates,Django,Django Templates,我编写了一个包含标记和两个TemplateTag,用于将投票代码呈现为html 如您所见,有一个用于渲染的包含标记的投票按钮。在模板中,我试图在同一个文件中使用是由投票的,而是由投票的。它呈现模板,但templatetags在没有给出任何错误的情况下无法工作 你知道为什么会这样吗?包含的模板,vote_buttons.html需要一个{{user}上下文变量。不返回包含“用户”项的dict。假设{{user}}应该是请求用户,您可以使用如下内容: @register.inclusion_tag(
你知道为什么会这样吗?包含的模板,vote_buttons.html需要一个{{user}上下文变量。不返回包含“用户”项的dict。假设{{user}}应该是请求用户,您可以使用如下内容:
@register.inclusion_tag('vote_buttons.html',takes_context=True)
def vote_buttons_for(context, object, *args, **kwargs):
return {
"user": context['user'],
"object": object,
"vote_model": "%s.%sVote" % (
object._meta.app_label, object._meta.object_name)
}
是的,我问了之后才意识到。作为向该上下文追加request.user的注释,inclusion标记应该具有
takes\u context=True
paremeter。之后,您可以将用户对象附加为“user”:context['user']
。。。你可以看到。请关闭问题,我只是再次打开它,看看我是否可以改进我的答案。。。应该把时间花在一个悬而未决的问题上。