图像不能是uploaded.form.is_valid()总是返回Flase.我用html写的
<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中
@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中
class ImageForm(forms.ModelForm):
image = forms.ImageField()
class Meta:
model = Image
fields = ('image',)我真的不明白为什么我不能发送images.form.is_valid()返回的Flase意味着表单不能得到图像,对吧?我的代码中有什么问题?我应该如何修复这个问题?
发布于 2018-03-27 20:55:53
当Django处理文件上传时,文件数据最终放在
request.FILES中。
您没有将request.FILES传递给表单,因此它永远看不到上载的文件。您需要将其传递给表单,如下所示:
img_form = ImageForm(request.POST, request.FILES)https://stackoverflow.com/questions/49513297
复制相似问题