2010-11-13 62 views
0

我想用Django的url模板标签构建一个基于日期的URL。我有一个DateTime对象,我可以显示像这样:在Django的url模板标签中使用日期

{{block|date:"F j Y"}} 

然而,当我使用几乎相同的语法与URL templatetag,就像这样:

{% url meeting block|date:"Y" %} 

我得到一个错误 - 它似乎传递给url的唯一东西是空字符串:

... Reverse for 'meeting' with arguments '(u'',)' and arguments ... 

我会做什么错?

+0

是否把{{块|日期: “Y”}}之前,您的网址代码调用产生预期的价值?另外...如果块是一个日期时间对象,你不能使用block.year? – eternicode 2010-11-13 03:16:34

+0

奇怪的是,block.year等似乎并没有工作 - 我仍然得到一个空字符串(非unicode这次,hrm)。但是,谢谢你的建议。 – 2010-11-14 14:06:49

+0

也就是说,它在{%url%}标签之外工作,但不在里面。 – 2010-11-14 14:21:33

回答

2

url标记有点奇怪,而且对它的论点很挑剔。特别是,我不认为它的论点评估任何过滤器。

你可以试试这个:

{% with block|date:"Y" as blockyear %}{% url meeting blockyear %}{% endwith %}