如何在Django的ImageField中保存用户输入的img

时间:2019-02-23 12:15:01

标签: python html django

我正在尝试将用户图像保存在数据库中。以下是我的输入表单:

<form method="POST" action="/savedata/">
{% csrf_token %}
<input id="file-upload" type="file"  accept="image/*" name='profileimg' />
<input type="submit" value="upload">
</form>

如何使用表单提交

将所选图像保存在数据库中

我的模型课程:

class usertab(models.Model):
    img = models.ImageField(upload_to='user_img')

我可以使用 superuser 保存图像,但是我需要使用提交表单保存图像,我该怎么办?

非常感谢。

2 个答案:

答案 0 :(得分:1)

要在Django中提交文件,您应该在表单中使用enctype="multipart/form-data"属性,并通过myfile = request.FILES['myfile']在视图中获取它

  <form method="post" enctype="multipart/form-data">
    {% csrf_token %}
   <input type="file" name="myfile">
   <button type="submit">Upload</button>
 </form>

观看次数:

def simple_upload(request):
   if request.method == 'POST' and request.FILES['myfile']:
      myfile = request.FILES['myfile']
      # statements

Ref

答案 1 :(得分:0)

您似乎在表单标签中缺少enctype="multipart/form-data"。处理上传的文件时是必需的。