Django澳大利亚当地风味形式验证

时间:2011-01-13 02:46:06

标签: django localization django-forms django-views

我无法让django的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()

任一版本都不显示选择小部件。 AUPostCodeFieldAUPhoneNumberField小部件无法验证。

这是我用来向数据库添加数据并检查有效输入的代码。

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

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

   return HttpResponseRedirect('scrapyard.views.main')

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

class ContactForm(ModelForm):
       class Meta:
          model = Contact
          exclude = ['created']
          widgets = { 'state': AUStateSelect() }

无论订单是否涉及,这个细分都像魅力一样。 显然是代表我的过度网站。

感谢大家的帮助。