/ / Django validation de la forme locale australienne - Django, localisation, formes Django, vues Django

Validation de la forme de saveur locale australienne de Django - django, localisation, django-forms, django-views

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 № 1
class 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.