2016-09-17 3 views
1

나는 Charfield로 유효성을 검사하지만 Select 위젯을 사용하여 폼을 가져 오려고합니다.Django에서 폼 유효성 검사 실패

class Mpld3PlotForm(forms.Form): 

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

양식 제출에 확인하지 않습니다

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 코드 :

여기 내 view.py 코드입니다. 업로드 된 파일을 기반으로 선택 항목을 동적으로 업데이트합니다. 어떤 도움을 주시면 감사하겠습니다.

답변

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})