Проверка формы австралийского вкуса 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')

Спасибо за вашу помощь.


person sdk900    schedule 13.01.2011    source источник
comment
Вы можете проверить, является ли это ошибкой в ​​вашем коде или в локальном стиле AU, временно заменив его на локальный вариант для США.   -  person Seth    schedule 13.01.2011
comment
Какую версию django вы используете? Атрибут widgets класса Meta требует django ›= 1.2!   -  person Bernhard Vallant    schedule 13.01.2011
comment
В то время как AUStateSelect - это виджет, который не выполняет никакой проверки, два других класса, которые вы упомянули, являются классами FIELD!   -  person Bernhard Vallant    schedule 13.01.2011
comment
@Seth USStateSelect работает как настраиваемый виджет. Но не AUStateSelect. Спасибо!   -  person sdk900    schedule 13.01.2011
comment
@lazerscience Версия Django - 1.2.3, и я знаю, что поля AUPostCodeField и AUPhoneNumberField. Я отредактирую пост, чтобы исправить это.   -  person sdk900    schedule 13.01.2011
comment
Хорошо, я работал после того, как включил все значения полей формы. Я перезапустил apache, и вот оно. Спасибо за вашу помощь.   -  person sdk900    schedule 13.01.2011
comment
Что ж, у меня все заработало (AUStateSelect) после того, как я включил все значения полей формы в файл. Затем я добавил AUPostCodeField, и теперь форма не отображается ....   -  person sdk900    schedule 13.01.2011


Ответы (1)


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

Независимо от того, был задействован порядок или нет, этот сегмент работал как шарм. Очевидно, сайт от моего имени.

Спасибо всем за вашу помощь.

person sdk900    schedule 24.01.2011