Список месяцев в Джанго - PullRequest
       0

Список месяцев в Джанго

2 голосов
/ 09 сентября 2010

Я пытаюсь создать форму выбора со списком месяцев, но не могу правильно ее разместить.

форма:

   class MonthForm(forms.Form):
        months = [('January','January'),
                  ('February','February'),
                  ('March','March'),
                  ('April','April'),
                  ('May','May'),
                  ('June','June'),
                  ('July','July'),
                  ('August','August'),
                  ('September','September'),
                  ('October','October'),
                  ('November','November'),
                  ('December','December'),]
        month = forms.ChoiceField(months)

просмотр:

def table_view(request):
    if request.method == 'POST':
        month = MonthForm(request.POST).cleaned_data['month']
        print month

Я получаю эту ошибку:

'MonthForm' object has no attribute 'cleaned_data'

1 Ответ

6 голосов
/ 09 сентября 2010

Атрибут cleaned_data присутствует только после проверки формы с помощью is_valid().

Просто измените свой код на

def table_view(request):
    if request.method == 'POST':
        form = MonthForm(request.POST)
        if form.is_valid():
            print form.cleaned_data['month']

Внутренне, если обнаружены какие-либо ошибки, атрибут cleaned_data будет удален (см. forms/forms.py вокруг строки 270) и, следовательно, недоступен:

if self._errors:
    delattr(self, 'cleaned_data')

Смотри также: http://docs.djangoproject.com/en/dev/topics/forms/?from=olddocs#processing-the-data-from-a-form

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...