J'ai du mal à obtenir Django "s django.contrib.localflavor.au.forms
pour valider ma saisie de formulaire.
J'ai essayé plusieurs façons d'utiliser les widgets de formulaire.et n'ont eu aucun succès. Le formulaire s'affichera mais ne sera pas validé. Même s’il est très possible que je fasse quelque chose d’erreur. Mon code de formulaire est comme suit en utilisant un widget personnalisé. La version de Django est 1.2.3
from django.contrib.localflavor.au.forms import AUStateSelect, AUPostCodeField, AUPhoneNumberField
...
class ContactForm(ModelForm):
class Meta:
model = Contact
fields = ("name", "state")
widgets = { "state": AUStateSelect() }
exclude = ["created"]
J'ai également essayé d'utiliser un champ de formulaire personnalisé de cette façon.
from django.contrib.localflavor.au.forms import AUStateSelect, AUPostCodeField, AUPhoneNumberField
...
class ContactForm(ModelForm):
class Meta:
model = Contact
exclude = ["created"]
state = AUStateSelect()
L'une ou l'autre version n'affiche pas le widget de sélection. Aucune validation n'arrive avec AUPostCodeField
ou AUPhoneNumberField
widgets non plus.
C'est le code que j'utilise pour ajouter des données à la base de données et vérifier les entrées valides.
def addContact(request):
if request.method == "POST":
contactForm = ContactForm(request.POST)
if contactForm.is_valid():
contactForm.save()
return HttpResponseRedirect("scrapyard.views.main")
Merci de votre aide.
Réponses:
2 pour la réponse № 1class ContactForm(ModelForm):
class Meta:
model = Contact
exclude = ["created"]
widgets = { "state": AUStateSelect() }
Que la commande soit impliquée ou non, ce segment a fonctionné à merveille. De toute évidence un over site en mon nom.
Merci à tous pour votre aide.