1
私はDjangoでシンプルな認証アプリケーションを使用しています。認証ユーザーにウェブサイトのページから複数のファイルを簡単にアップロードできるようにします。DJANGOアップロード画像djangoフォームを表示しない
私は複数のDjangoフォームとビューとHTMLフォームを作成しています。私のコードが正解ではじめて完全なものであっても、うまく動作しないのかどうかはわかりません。
htmlページには表示されませんアップロード用のフォームは送信ボタンのみを表示し、何もしません。
model.py
class MyModel(models.Model):
user = models.ForeignKey(User, unique=True)
upload = models.ImageField(upload_to='upload')
views.py
@login_required
def upload_images(request):
uploadimages = UploadImagesForm(request.POST or None, request.FILES or None)
if uploadimages.is_valid():
# Get the images that have been browsed
if request.FILES.get('multipleimages', None):
images = request.FILES.getlist('multipleimages')
for image in images:
MyModel.objects.create(user=request.user.id, images=image)
else:
pass
else:
raise Http404
return render(request, 'home.html', {'UploadImagesForm':UploadImagesForm })
forms.py
class UploadImagesForm(forms.Form):
multipleimages = forms.ImageField(label="Upload Multiple Images:",widget=forms.ClearableFileInput(attrs={'multiple': True}), required=False)
HTML
{% extends 'base.html' %}
{% block content %}
<div class="container">
<div class="row">
<div class="jumbotron">
<h1>Hello</h1>
<p><form class="" action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ UploadImagesForm }}
<input type="submit" name="" value="Submit">
</form></p>
<img src="static/css/me.jpg" width="777px" height="555px";alt="some image"/>
</div>
</div>
</div>
{% endblock %}
奇妙です。私はそれをローカルでテストし、かなりうまく動作します。 '{{UploadImagesForm}} 'を' {%block content%}'の外側に置いてレンダリングされるかどうか確認してください。 –
はいあなたは正しいです今私はformaを見せても動作しません私はこのエラーを持っています/ UNIQUE制約に失敗しました:log_mymodel.user_id'は間違っていますか? –
それは 'unique = True'の違反があるからです。あなたは同じユーザーを渡しているので、データベースが不平を言う! –