【问题标题】:Using date in the Django url templatetag在 Django url 模板标签中使用日期
【发布时间】:2011-05-09 09:50:41
【问题描述】:

我正在尝试使用 Django 的 url 模板标签构建基于日期的 URL。我有一个可以像这样显示的日期时间对象:

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

但是,当我使用与 url 模板标签几乎相同的语法时,如下所示:

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

我收到一个错误 - 似乎传递给 url 的唯一内容是一个空字符串:

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

我可能做错了什么?

【问题讨论】:

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

标签: django django-templates django-urls


【解决方案1】:

url 标签有点奇怪,而且对它的论点非常挑剔。特别是,我认为它不会评估其参数中的任何过滤器。

你可以试试这个:

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

【讨论】:

    猜你喜欢
    • 2022-11-25
    • 2014-03-20
    • 1970-01-01
    • 2010-12-19
    • 2014-04-23
    • 2013-01-21
    • 1970-01-01
    • 2010-09-20
    • 2021-07-26
    相关资源
    最近更新 更多