2010-07-12 8 views
2

J'utilise des formes de modèles dans Django pour permettre à l'utilisateur d'entrer sa date de naissance. Je souhaite que l'utilisateur sélectionne la date à partir d'une série de listes déroulantes, une pour chaque année, mois et jour. À l'origine, je pensais que le SelectDateWidget fonctionnerait. Cependant, ce widget n'affiche que les dates dans le futur. Je veux bien sûr afficher uniquement les dates dans le passé.Afficher une série de listes déroulantes avec des dates passées dans Django

Y at-il un moyen facile de faire cela?

Répondre

10

SelectDateWidget n'est pas seulement pour les dates dans le futur. Si vous voulez des dates dans le passé, vous devez passer un autre argument years dans votre widget, sinon il utilise l'année en cours. Ainsi, au sein de votre forme, il suffit de faire:

SelectDateWidget(years=range(1985, datetime.date.today().year+10)) 

Il accepte essentiellement une liste d'années, et en utilisant la fonction range fonctionne assez bien pour cela.

Vous pouvez voir comment fonctionne le widget here

+0

Cela a fonctionné parfaitement, merci beaucoup! –

Questions connexes