Bonjour,
J'essaie en vain de rajouter un calendrier à coté de mes DateField dans mes formulaires d'ajout et de modifications afin de ne pas avoir a les taper a la main et pile comme le demande le patron de date a chaque fois. Pour l'instant j'ai suivi cette lancée:
- Créer un formulaires
- Créer une CBV CreateView
- Associer le formulaire a ma CBV
- Pleurer sur mon sort devant tout les posts datant de 2011 qui m'on l'air infructueux
Lien exploré jusqu'ici:
- http://stackoverflow.com/questions/15803257/datefield-with-calendar-django
- http://stackoverflow.com/questions/38601/using-django-time-date-widgets-in-custom-form
Le problème vient apparemment des ajout dans le header a faire au sein du template. Je pense que certains lien on changer ou que certaines fonctions on était deprecated… Malheureusement je n'arrive pas a m'en sortir.
Voici mon code.
Forms.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | from django import forms from django.db import models from django.contrib.admin.widgets import AdminDateWidget from django.forms import widgets from app.finance.models import Bourse class BourseForm(forms.ModelForm): class Meta: model = Bourse fields = ['dateSoumission'] def __init__(self, *args, **kwargs): super(BourseForm, self).__init__(*args, **kwargs) self.fields['dateSoumission'].widget = AdminDateWidget() |
views.py
1 2 3 4 | #For create a new Bourse class BourseCreate(generic.CreateView): model = Bourse form_class = BourseForm |
bourse_form.html -> Template de la CBV par défaut
1 2 3 4 5 6 7 8 9 | {% load staticfiles %} {% block content %} <h1>{% trans "Bourses" %}</h1> <form method="post">{% csrf_token%} {{ form.as_p }} <input type="submit" value="Submit"/> </form> {% endblock %} |
Autant je serais très intéresser a savoir comment finir avec ce calendrier, autant je pourrais aussi vous remercier d'une solution alternative (input spécial date en trois sous partie clickable et incrémentable avec les flèches du clavier par exemple).
Enfin bref je ne suis pas fermé.