首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法上传图片

问无法上传图片
EN

Stack Overflow用户
提问于 2018-03-27 20:48:29
回答 1查看 23关注 0票数 0

图像不能是uploaded.form.is_valid()总是返回Flase.我用html写的

代码语言:javascript
复制
<main>
    <form action="/app/img/" method="POST" enctype="multipart/form-data" role="form">
        {% csrf_token %}
        <h3>Upload Image!!</h3>

        <div class="input-group">
            <label class="input-group-btn">
                <span class="btn-lg">
                    Select image
                    <input id="file1" type="file" name="image" accept="image/*">
                </span>
            </label>
        </div>

        <div class="col-xs-offset-2">
            <input id="send" type="submit" value="Send" class="form-control">
        </div>
    </form>
</main>

在views.py中

代码语言:javascript
复制
@require_POST
def img(request):
    img_form = ImageForm(request.POST or None)
    print(img_form.is_valid())
    if request.method == "POST" and img_form.is_valid():
        image = request.POST.get("image", "")

在forms.py中

代码语言:javascript
复制
class ImageForm(forms.ModelForm):
    image = forms.ImageField()
    class Meta:
        model = Image
        fields = ('image',)

我真的不明白为什么我不能发送images.form.is_valid()返回的Flase意味着表单不能得到图像,对吧?我的代码中有什么问题?我应该如何修复这个问题?

EN

回答 1

Stack Overflow用户

发布于 2018-03-27 20:55:53

从documentation

当Django处理文件上传时,文件数据最终放在request.FILES中。

您没有将request.FILES传递给表单,因此它永远看不到上载的文件。您需要将其传递给表单,如下所示:

代码语言:javascript
复制
img_form = ImageForm(request.POST, request.FILES)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49513297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档