2010-01-22 5 views
2

Existe-t-il un moyen facile d'obtenir l'URL d'une vue générique basée sur la date de Django (en particulier object_detail) à partir d'un modèle?URL vers la vue générique basée sur la date dans le modèle django?

donné une conf URL comme celui-ci

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') 

je crois comprendre que je besoin de faire quelque chose comme ça

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

Sauf que

  1. L'année, le mois et le jour doivent être formatés en tant que chaînes
  2. Il doit y avoir un n façon plus simple

Si quelqu'un a des commentaires sur l'une de ces il serait très apprécié

Merci

Répondre

3

La façon plus facile et mieux est de définir ce revers dans le modèle BlogPost au sein get_absolute_url et dans le utiliser le modèle {{blogpost.get_absolute_url}}

Mise à jour:

en supposant que vous stockez la date dans le models.DateField ou models.DateTime Champ, la conversion de chaîne peut être réalisée par date.strftime("%Y/%b/%d").lower()

+0

C'est exactement ce dont j'avais besoin, merci! –

Questions connexes