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

标签 python django

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

class UploadFileForm(forms.Form):
    file = forms.FileField()

以下是我的 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>

文件处理完成:

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."

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

最佳答案

您需要添加request.FILES,如下所示:

fileForm = UploadFileForm(request.POST, request.FILES)

关于python - 在文件上传的情况下,django form.is_valid() 始终返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40794249/

相关文章:

python - 使用 python-social-auth 在数据库中预先注册用户

django - 使用字符串而不是点语法访问 Django 模型的字段?

python - 为什么我的 QsciLexerCustom 子类不能使用 QsciScintilla 在 PyQt4 中工作?

python - Django:如何根据表单的非持久字段自定义保存模型/表单?

python - 从客户端接收 'utf-8' 时出现问题

mysql - Django ORM 处理 MySQL BIT(1) 字段

python - 更改 pandas resample 中的周定义

python - 在 Plone 上命名我的发行版的最佳方式?

python - “函数”对象没有属性 'MY_SETTING'

linux - Django - 在 Linux 中创建文件并保存在服务器上的特定位置