2016-09-17 6 views
1

Im пытается получить форму для проверки с помощью Charfield, но с помощью виджета Select.Ошибка проверки формы в Django

Вот мой view.py код:

def mpld3plot(request): 
    form = PlotlyPlotForm() 
    form.fields['plot_file'].widget.choices = own_funcs.uploaded_files(string=False) 

    if request.method == 'POST': 
     print(form.is_valid()) 
     if form.is_valid(): 

      return HttpResponseRedirect('/mpld3') 

     else: 
      pass 
    else: 
     pass 

    return render(request, 'evert/plot.html', {'plottype': 'MPLD3', 
               'form': form}) 

Ниже мой forms.py код:

class Mpld3PlotForm(forms.Form): 

    plot_file = forms.CharField(widget=forms.Select(choices=[('', 'a'), ('', 'b')])) 

форма не проверяет на кнопку. Я динамически обновляю выбор на основе загруженных файлов. Любая помощь будет оценена по достоинству.

ответ

0

Оказывается, я не передал request объект к форме.

Файл view.py должен выглядеть следующим образом:

def mpld3plot(request): 
    form = PlotlyPlotForm(request.POST) 
    form.fields['plot_file'].widget.choices = own_funcs.uploaded_files(string=False) 

    if request.method == 'POST': 
     print(form.is_valid()) 
     if form.is_valid(): 

      return HttpResponseRedirect('/mpld3') 

     else: 
      pass 
    else: 
     pass 

    return render(request, 'evert/plot.html', {'plottype': 'MPLD3', 
               'form': form}) 
Смежные вопросы