/ / Djangoオーストラリアのローカルフレーバーフォームの検証-django、ローカリゼーション、django-forms、django-views

Djangoオーストラリアのローカル風味のフォームの検証 - django、ローカリゼーション、django-forms、django-views

ジャンゴを取得するのに問題があります django.contrib.localflavor.au.forms フォーム入力を検証します。

フォームウィジェットを使用するいくつかの方法を試しましたそして成功していません。フォームは表示されますが、検証されません。可能性は非常に高いですが、私は何か間違ったことをしています。 私のフォームコードは、カスタムウィジェットを使用して次のとおりです。 Djangoのバージョンは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"]

また、この方法でカスタムフォームフィールドを使用してみました。

from django.contrib.localflavor.au.forms import AUStateSelect, AUPostCodeField, AUPhoneNumberField
...
class ContactForm(ModelForm):
class Meta:
model = Contact
exclude = ["created"]
state = AUStateSelect()

どちらのバージョンでも、選択ウィジェットは表示されません。検証は行われません AUPostCodeField または AUPhoneNumberField ウィジェットも。

これは、データベースにデータを追加し、有効な入力を確認するために使用するコードです。

def addContact(request):
if request.method == "POST":
contactForm = ContactForm(request.POST)

if contactForm.is_valid():
contactForm.save()

return HttpResponseRedirect("scrapyard.views.main")

ご協力いただきありがとうございます。

回答:

回答№1は2
class ContactForm(ModelForm):
class Meta:
model = Contact
exclude = ["created"]
widgets = { "state": AUStateSelect() }

注文が関係しているかどうかにかかわらず、このセグメントは魅力のように機能しました。 明らかに、私に代わってオーバーサイトです。

ご協力ありがとうございました。