在Django url templatetag中使用日期

在Django url templatetag中使用日期,django,django-templates,django-urls,Django,Django Templates,Django Urls,我正在尝试用Django的URL模板标记构建一个基于日期的URL。我有一个datetime对象,可以这样显示: {{block|date:"F j Y"}} 但是,当我对url templatetag使用几乎相同的语法时,如下所示: {% url meeting block|date:"Y" %} 我收到一个错误--似乎传递到url的唯一内容是一个空字符串: ... Reverse for 'meeting' with arguments '(u'',)' and arguments ...

我正在尝试用Django的URL模板标记构建一个基于日期的URL。我有一个datetime对象,可以这样显示:

{{block|date:"F j Y"}}
但是,当我对url templatetag使用几乎相同的语法时,如下所示:

{% url meeting block|date:"Y" %}
我收到一个错误--似乎传递到url的唯一内容是一个空字符串:

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

我可能做错了什么?

url标记有点奇怪,并且对其参数非常挑剔。特别是,我认为它不会在参数中计算任何过滤器

你可以试试这个:

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

将{block | date:“Y”}放在url标记调用之前是否会产生预期值?也。。。如果block是一个datetime对象,你就不能只使用block.year吗?奇怪的是,block.year等似乎不起作用——我仍然得到一个空字符串(这次是非unicode的,hrm)。但是谢谢你的建议。也就是说,它在{%url%}标记之外工作,但在内部不工作。