【问题标题】:Form validation failing in DjangoDjango中的表单验证失败
【发布时间】:2017-01-25 17:16:18
【问题描述】:

我正在尝试使用 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')]))

表单在提交时未验证。我根据上传的文件动态更新选择。任何帮助,将不胜感激。

【问题讨论】:

    标签: python django forms validation python-3.x


    【解决方案1】:

    原来我没有将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})
    

    【讨论】:

      猜你喜欢
      • 2014-04-18
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      • 2017-11-19
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多