0

我想将图像上传到服务器。为此,我创建了一个表单,并在我的 views.py 文件中尝试将其提交到服务器中。在这里,它不会将文件上传到“图像”文件夹。而不是它只更新使用新图像名称归档的数据库。所以任何人都可以给我一个解决方案。

这是views.py 文件

@login_required
def edit_profile(request):

if request.POST:


        employee = Employee.objects.get(user=request.user)          
        employee.avatar=request.POST.get('image')
        employee.save()
        return HttpResponseRedirect('/view_profile/')       

user_profile = request.user.get_profile()
return render_to_response('edit_profile.html',{'profile':user_profile },context_instance=RequestContext(request))

这是我的html代码

   {% block content %}

<form action="." method="post">
{% csrf_token %}    

    <input type="file" name="image"/>
    <input type="submit" value="Save Changes" name="save" />        

</form>

{% endblock %}

我应该更改什么以将图像上传到“图像”文件夹

4

1 回答 1

4

您需要添加enctype="multipart/form-data"您的form元素,以便文件也被上传并request.FILES在视图中可用..

所以更新为

<form action="." method="post" enctype="multipart/form-data" >

 ....

将上传的文件绑定到表单中的更多信息

为了保存图像,它更易于使用ModelForm并适当地设置图像文件。但是您仍然想直接保存对象

...
employee.avatar = request.FILES['image']
employee.save()

参考文件上传

于 2013-04-16T10:25:56.933 回答