【问题标题】:modelForm giving a validation error on file upload [closed]modelForm 在文件上传时给出验证错误[关闭]
【发布时间】:2013-05-22 09:47:22
【问题描述】:

我正在尝试上传基本文件,但在验证模型表单时似乎出现了问题。

这是我的模型:

class quiz(models.Model):
    user = models.ForeignKey(User)
    title = models.CharField(max_length=200)
    questions_file = models.FileField(upload_to=get_path)
    end_date = models.DateField()
    time = models.IntegerField()


    def __unicode__(self):
        return self.name

我的表单.py

class quizForm(ModelForm):
class Meta:
    model = quiz
    fields = ['title','questions_file','end_date','time']

相关观点:

def upload(request):
    if request.user.is_authenticated():     
        if request.method == 'POST':
                form = quizForm(request.POST,request.FILES)
                if form.is_valid():
                    quiz = form.save(commit=False)
                    quiz.user = request.user
                    quiz.save()
                else:
                    return HttpResponse(form.errors)
        else:
            form = quizForm()
            return render_to_response('upload.html',{'form':form},context_instance=RequestContext(request))
    else:
        return HttpResponse('Not logged in')

模板:

<form enctype="multi-part/form-data" action='/test-upload/' method='POST'>
{% csrf_token %}
{{form.as_p}}
<input type='submit' name='submit'>
</form>

关于通过表单提交文件。我收到了 questions_file 的 http 响应,即该文件未正确验证。

提前致谢。另外请忽略缩进错误,我是 SO 格式的菜鸟。

【问题讨论】:

  • 确切的错误是什么?有追溯吗?
  • 没有这样的错误。只是 form.is_valid() 失败了。
  • 如果失败 return HttpResponse(form.errors) 应该执行,它在说什么?
  • 我认为应该是enctype="multipart/form-data"。请注意缺少一个-
  • 好的,它使用 multipar/form-data 进行验证。谢谢。回答以便我接受?

标签: django django-forms django-file-upload


【解决方案1】:

表单编码类型中的错字:

<form enctype="multipart/form-data" action='/test-upload/' method='POST'>
    {% csrf_token %}
    {{form.as_p}}
    <input type='submit' name='submit'>
</form>

【讨论】:

    猜你喜欢
    • 2016-03-02
    • 2013-03-26
    • 2014-10-31
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 2011-11-10
    • 2023-04-07
    • 2021-01-07
    相关资源
    最近更新 更多