如何在Django中将模板变量传递给标记?

时间:2010-11-15 08:41:41

标签: django templates variables parameters tags

我尝试将模板变量作为参数传递给标记,但不确定它是如何工作的。

例如

模板html中的

{{ question.author_id }}

{% monetize_slot question.author_id "questioner" %}

在这里我可以看到网页将question.author_id显示为“2”,但是当我尝试通过标签monetize_slot传递它时,它将其视为静态字符串“question.author_id”,而不是动态值2。有人在这找到解决方案吗?

谢谢,

2 个答案:

答案 0 :(得分:1)

def monetize_slot(author_id, str):
  return '%s: %d' % (str, author_id,)
register.simple_tag(monetize_slot)

为我工作..

答案 1 :(得分:1)

尝试使用{%with%}

定义模板变量

{% with question.author_id as author %}
{% monetize_slot author "questioner" %} {% endwith %}