我编写了一个自定义模板标签,它返回聊天中的一些用户。
{% chat_online chat_channel %}
但是,令牌似乎接收值chat_channel
而不是该变量的值。
怎么了?
我编写了一个自定义模板标签,它返回聊天中的一些用户。
{% chat_online chat_channel %}
但是,令牌似乎接收值chat_channel
而不是该变量的值。
怎么了?
请记住,{% ... %}
HTML 中的模板标签定义 () 只是被 django 的模板引擎解析的文本片段,因此您需要告诉 django 实际在使用 name 呈现的上下文中查找变量chat_channel
。文档中的这个例子非常清楚:
class FormatTimeNode(template.Node):
def __init__(self, date_to_be_formatted, format_string):
self.date_to_be_formatted = template.Variable(date_to_be_formatted)
...
def render(self, context):
try:
actual_date = self.date_to_be_formatted.resolve(context)
...
except template.VariableDoesNotExist:
return ''
wheretemplate.Variable(date_to_be_formatted)
是从传递给模板标签的原始值创建一个模板变量(blog_entry.date_updated
在示例中),并self.date_to_be_formatted.resolve(context)
通过根据上下文解析它来找到模板中该变量的实际值。