如何在Django数据库中保存图像?

2024-10-01 22:28:59 发布

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

我有一个新的索赔表,允许用户上传图片

我目前面临的问题是,每当我尝试上传一张新图片时,它都不会存储在我的数据库(即my models.py)中

我如何解决这个问题

这是我的观点。py

    def NewClaim(request):
  context = initialize_context(request)
  user = context['user']
  form = ClaimForm()
  lastimage= Image.objects.last()
  imagefile= lastimage.imagefile

  if request.method == 'POST':
      form = ClaimForm(request.POST)
      if form.is_valid():
        form.save()
        return redirect ('ViewClaim')

  return render(request, "User/NewClaim.html", {'user':user, 'form':form, 'date': x})


**This is my newclaim.html**

    <form action="/newclaim/" method="post" enctype="multipart/form-data">
           <div>
                    <input id="receipt" type="file" name="receipt_field" style="display: none; visibility: none;">
          </div>
    </form>

这是我的saveclaimform模型

class SaveClaimForm(models.Model):
    receipt = models.FileField(upload_to='receipts/%Y/%m/%D', validators=[FileExtensionValidator(allowed_extensions=['jpg','png'])])

Tags: pyformifmodelsrequestmycontext图片
2条回答
  form = ClaimForm(request.POST, request.FILES)
  if form.is_valid():
     now take file input here
     and process form as usual

你可能想看看这个article。确保您已经修改了settings.py文件和url.py文件,以包含有关图像存储位置的信息

图像不会存储在数据库中,而是存储在您指定的文件夹中。然后可以为该图像生成一个路径,该路径可以也将存储在数据库中

相关问题 更多 >

    热门问题