【问题标题】:Save a file using a model and non-model-based Form in Django在 Django 中使用模型和非基于模型的表单保存文件
【发布时间】:2010-11-21 04:04:33
【问题描述】:

我有一个带有 FileField 的模型和一个带有 FileField 的表单。表单不是基于模型的ModelForm,而是常规的Form。

如何将表单上传的文件保存到模型中?

【问题讨论】:

    标签: django upload filefield


    【解决方案1】:

    好的,这就是我要找的:

    from django.core.files.base import ContentFile
    def save_file(request):
        mymodel = MyModel.objects.get(id=1)
        file_content = ContentFile(request.FILES['video'].read())
        mymodel.video.save(request.FILES['video'].name, file_content)
    

    找到了一个很好的解释here

    【讨论】:

      【解决方案2】:

      如果你的模型是

      class Thing(models.Model):
          document = models.FileField(upload_to='documents')
      

      你可以这样做

      thing = Thing()
      thing.document = request.FILES['Filedata']
      thing.save()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-12
        • 1970-01-01
        • 2011-08-25
        • 1970-01-01
        • 2016-12-20
        • 1970-01-01
        • 2020-10-16
        • 1970-01-01
        相关资源
        最近更新 更多