0

最低限のファイルをアップロードしようとしていますが、モデル フォームの検証中に問題が発生しているようです。

これが私のモデルです:

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

私のforms.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>

フォームからファイルを送信するとき。question_file の http 応答を受け取りました。つまり、ファイルが適切に検証されていません。

前もって感謝します。また、インデントエラーを無視してください。私はSOフォーマットの初心者です。

4

1 に答える 1

0

フォーム エンコーディング タイプ内のタイプミス:

<form enctype="multipart/form-data" action='/test-upload/' method='POST'>
    {% csrf_token %}
    {{form.as_p}}
    <input type='submit' name='submit'>
</form>
于 2013-05-22T10:24:32.063 に答える