Je souhaite afficher un champ (nommé "icône") en tant que bouton radio.
J'ai créé la méthode callback afin d'afficher DateTimeFields avec JQuery. Le code suivant devrait le faire, cependant je reçois cette erreur lorsque je lance mon serveur:
Erreur lors de l'appel des bases de métaclasses make_custom_datefield () a un argument de mot clé inattendu, "widget"
...
Emplacement d'exception: Virtualenvs / django / local / lib / python2.7 / site-packages / django / forms / models.py dans fields_for_model, ligne 164
forms.py:
def make_custom_datefield(f):
formfield = f.formfield()
if isinstance(f, DateTimeField):
formfield.widget.format = "%m/%d/%Y"
formfield.widget.attrs.update({"class":"datetimePicker", "readonly":"true"})
return formfield
class FlashForm(forms.ModelForm):
formfield_callback = make_custom_datefield
class Meta:
model = Flash
exclude=("user","marker","address")
widgets = {"icon": forms.RadioSelect(), }
Pouvez-vous m'aider s'il vous plaît, je n'ai vraiment aucune idée de comment résoudre ce problème!
Merci
Réponses:
3 pour la réponse № 1Finalement, j'ai trouvé la réponse: je devais ajouter le paramètre ** kwargs.
def make_custom_datefield(f,**kwargs):
formfield = f.formfield(**kwargs)
if isinstance(f, DateTimeField):
formfield.widget.format = "%m/%d/%Y"
formfield.widget.attrs.update({"class":"datetimePicker", "readonly":"true"})
return formfield