Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python DJANGO上传图像不显示DJANGO表单_Python_Html_Django_Python 2.7_Django Forms - Fatal编程技术网

Python DJANGO上传图像不显示DJANGO表单

Python DJANGO上传图像不显示DJANGO表单,python,html,django,python-2.7,django-forms,Python,Html,Django,Python 2.7,Django Forms,我在Django有一个简单的auth应用程序,现在我希望身份验证用户可以轻松地从网站的页面上传多个文件 我已经创建了一个多上传Django表单和视图以及html表单,我不确定我的代码是否完美——第一次使用auth,但无论如何都不起作用 在html页面中,不显示上传表单,只显示提交按钮,不执行任何操作 model.py class MyModel(models.Model): user = models.ForeignKey(User, unique=True) upload =

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

我已经创建了一个多上传Django表单和视图以及html表单,我不确定我的代码是否完美——第一次使用auth,但无论如何都不起作用

在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%}
你好

{%csrf_令牌%}
{{UploadImagesForm}}

{%endblock%}
图像无效时,您将弹出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 })

当图像无效时,您正在提升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 })

真奇怪。我在本地进行了测试,效果很好。尝试将
{{UploadImagesForm}
置于
{%block content%}之外
查看它是否被渲染。是的,thnx您现在是正确的,请向我显示格式,但不工作我有此
错误积分错误/UNIQUE约束失败:log\u mymodel。用户id
视图中的id是否错误?这是因为违反了
UNIQUE=True
。您传递的是同一个用户,因此您的数据库有问题!如何修复?unique=False?这是错误的事情?告诉我你的建议因为用户可能有多张照片,那么是的,你应该完全删除
unique=True
(默认值为
False
)。这很奇怪。我在本地进行了测试,效果很好。尝试将
{{UploadImagesForm}
置于
{%block content%}之外
查看它是否被渲染。是的,thnx您现在是正确的,请向我显示格式,但不工作我有此
错误积分错误/UNIQUE约束失败:log\u mymodel。用户id
视图中的id是否错误?这是因为违反了
UNIQUE=True
。您传递的是同一个用户,因此您的数据库有问题!如何修复?unique=False?这是错误的事情?告诉我你的建议因为一个用户可能有多张照片,那么是的,你应该完全删除
unique=True
(默认为
False
)。