我试图让一个表单用Charfield验证,但使用Select小部件。
这是我的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 :(得分: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})