0
djangoのdjango.contrib.localflavor.au.forms
を入力してフォーム入力を検証するのに問題があります。Djangoオーストラリアのローカルフレーバーフォームの妥当性確認
私はフォームウィジェットを使用するいくつかの方法を試したが、成功しなかった。フォームは表示されますが、検証されません。私は間違いをしている可能性が非常に高いですが。 私のフォームコードは、カスタムウィジェットを使って次のようになります。 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')
ありがとうございました。
米国のlocalflavorを一時的に置き換えて、コードやAUのローカルフレーバにバグがあるかどうかをテストすることができます。 – Seth
どのdjangoのバージョンを使用していますか? 'Meta'クラスの' widgets'属性にはdjango> = 1.2が必要です! –
'AUStateSelect'は検証をしないウィジェットですが、あなたが言及している他の2つのクラスはFIELDクラスです! –