/accounts/upload_save/ "'画像' 'には、 MultiValueDictKeyErrorというエラーが発生しました。 ファイルアップロードシステムを作っています。ファイルを選択して「送信」ボタンを押すと、選択した画像がmodel.Butに送られます。画像を選択せずに「送信」ボタンを押すと、エラーが発生します。画像を選択せずに「送信」ボタンを押すと、というメッセージが表示されます。MultiValueDictKeyError/accounts/upload_save/
は私がforms.py
class UserImageForm(forms.ModelForm):
class Meta:
model = ImageAndUser
fields = ('image',)
にurls.py
urlpatterns = [
url(r'^upload_save/$', views.upload_save, name='upload_save'),
]
にviews.py
@login_required
@csrf_exempt
def upload_save(request):
if request.method == "POST":
form = UserImageForm(request.POST, request.FILES)
if form.is_valid():
data = form.save(commit=False)
data.user = request.user
data.image = request.FILES['image']
data.save()
else:
print(form.errors)
else:
form = UserImageForm()
return render(request, 'registration/photo.html', {'form': form})
に書いた
<div class="container" id="photoform">
{% if form.errors %}
<div class="alert alert-danger" role="alert">
<p>You should select at least one photo</p>
</div>
{% endif %}
<form action="/accounts/upload_save/" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<div class="input-group">
<label class="input-group-btn" style="width: 30%;">
<span class="btn btn-primary btn-lg">
File Select1
<input type="file" name="image">
</span>
</label>
<input type="text" class="form-control" readonly="">
</div>
<div class="input-group">
<label class="input-group-btn" style="width: 30%;">
<span class="btn btn-primary btn-lg">
File Select2
<input type="file" name="image2">
</span>
</label>
<input type="text" class="form-control" readonly="">
</div>
<div class="input-group">
<label class="input-group-btn">
<span class="btn btn-primary btn-lg">
File Select3
<input type="file" name="image3">
</span>
</label>
<input type="text" class="form-control" readonly="">
</div>
<div class="form-group">
<input type="hidden" value="{{ p_id }}" name="p_id" class="form-control">
</div>
<div class="form-group">
<input type="submit" value="SEND" class="form-control">
</div>
</form>
</div>
photo.htmlに書きましたこのエラーはなぜ起こるか私がもし-else文を書いて、私はどのように?この問題を解決するために.Whatを行う必要がありelse文で印刷(form.errors)をworteので、私は本当に理解することはできませんmodels.py
class ImageAndUser(models.Model):
user = models.ForeignKey("auth.User", verbose_name="imageforegin")
image = models.ImageField(upload_to='images', null=True, blank=True,)
date = models.IntegerField(max_length=100,null=True)
で
私はそれを書くことはできますか?
あなたのviews.pyを変更] 'が失敗しています...それで、それを修正して、入力フォームに' required'を追加して、クライアントが空のイメージでフォームを送信しないようにしておくとよいでしょう。 –
@JonClements thx ur comments.Iのurメッセージを読んだが、私はそれを書く方法を理解できない。あなたは答えにあなたの意図したコードを書くことができますか? – user8504021
あなたの質問を編集して 'UserImageForm'を含めると誰かが助けることができます –