DJANGO上传图片不显示DJANGO表单

2024-09-30 22:28:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Django有一个简单的auth应用程序,现在我希望身份验证用户可以从网站的页面上传多个文件。你知道吗

我已经创建了一个多上传Django表单和视图和html表单,我不知道我的代码是否完美,第一次使用auth,但无论如何都不能工作。你知道吗

在html页面中,不显示上传表单,只显示提交按钮,不执行任何操作。你知道吗

button

你知道吗型号.py你知道吗

class MyModel(models.Model):
    user = models.ForeignKey(User, unique=True)
    upload = models.ImageField(upload_to='upload')

你知道吗视图.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 })

你知道吗表单.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 %}

Tags: pyimagedivnone表单modelsrequesthtml
1条回答
网友
1楼 · 发布于 2024-09-30 22:28:08

当图像无效时,您正在提升404页。这对用户体验不是很友好!你知道吗

更改为:

@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) is not None:
            images = request.FILES.getlist('multipleimages')
            for image in images:
                MyModel.objects.create(user=request.user, upload=image)
    return render(request, 'home.html', {'UploadImagesForm':UploadImagesForm })

相关问题 更多 >