在文件上传的情况下,django form.is_valid() 始终返回 0

lea*_*ner 1 python django

我有以下表格(以及其他两种表格):

class UploadFileForm(forms.Form):
    file = forms.FileField()
Run Code Online (Sandbox Code Playgroud)

以下是我的html:

<div class="panel panel-danger">
                <div class="panel-heading">
                    <h3 class="panel-title">Panel title</h3>
                </div>
                <div class="panel-body">
                    <form action="" method="POST" role="form" enctype="multipart/form-data">
                        {% csrf_token %}
                        <legend>Upload a file: </legend>

                        <div class="form-group">
                            <input type="file" name="file" class="form-control" id="" placeholder="Input field">
                        </div>



                        <button type="submit" class="btn btn-primary">Submit</button>
                    </form>
                </div>
            </div>
Run Code Online (Sandbox Code Playgroud)

文件处理完成:

if request.method == 'POST':
    print "I am in request."
    print request.FILES['file']
    # create a form instance and populate it with data from the request:
    formName = NameForm(request.POST)
    formHandle = HandleForm(request.POST)
    fileForm = UploadFileForm(request.POST)
    successMessages = []
    failureMessages = []
    # check whether it's valid:
    # 
    if fileForm.is_valid():
        print "file is uploaded."
        print request.FILES['file']
    else:
        print "File form is not set."
Run Code Online (Sandbox Code Playgroud)

始终执行 else 条件,即使request.files设置了 in 的值。我究竟做错了什么?

ett*_*any 6

您需要添加request.FILES如下:

fileForm = UploadFileForm(request.POST, request.FILES)
Run Code Online (Sandbox Code Playgroud)