django模板中基于日期的通用视图的URL?

时间:2010-01-22 05:28:23

标签: django templates reverse django-generic-views

是否有一种简单的方法可以从模板中获取基于Django日期的通用视图(特别是object_detail)的URL?

给出像这样的网址

url(r'^posts/(?P<year>\d\d\d\d)/(?P<month>\d\d)/(?P<day>\d\d)/(?P<slug>[\w-]+)$', 'date_based.object_detail', detail_info, name='blog-post-detail')

我的理解是我需要做这样的事情

{% url blog_post_detail year=post.date.year.str,month=post.date.month,day=post.date.day,slug=post.slug %}

除了

  1. 年,月,日需要格式化为字符串
  2. 必须有一个更简单的方法
  3. 如果有人对其中任何一方有任何意见,我们将不胜感激

    由于

1 个答案:

答案 0 :(得分:3)

更简单,更好的方法是在get_absolute_url内的BlogPost模型中定义此反向,并在模板中使用{{blogpost.get_absolute_url}}

更新

假设您将日期存储在models.DateField或models.DateTimeField中,则可以通过date.strftime("%Y/%b/%d").lower()

来实现字符串转换