【问题标题】:ImageField Upload with Django使用 Django 上传 ImageField
【发布时间】:2013-01-10 15:41:14
【问题描述】:

我正在尝试使用 django 上传图像,但到目前为止我看不到 upload_to 目录被创建或数据库字段中的任何文件源。

我的模型。

class Person(models.Model):
  photo = models.ImageField(upload_to='profiles/', null=True, blank=True)

我的观点

def create_profile(request):
    if request.method == "POST":
        form = PartialPersonForm(request.POST, request.FILES,)
        addressForm = PartialAddressForm(request.POST)

当我上传和保存时,我没有收到任何错误。无论如何,我可以调试它并找出是否设置了照片字段。

 <div class="photo-upload">{{ form.photo|attr:"onchange:readURL(this);" }}

【问题讨论】:

    标签: python django upload


    【解决方案1】:

    除非您在媒体存储方面做一些特殊的事情,否则您应该将MEDIA_ROOT 设置为您希望保存上传文件的目录。

    在处理文件类型字段时,您需要遵循 Django 文档中FileField.storage 中的说明。

    在您看来,您需要save() 上传的表单数据。

    def create_profile(request):
        if request.method == "POST":
            form = PartialPersonForm(request.POST, request.FILES,)
            addressForm = PartialAddressForm(request.POST)
            form.save()
            addressForm.save()
    

    【讨论】:

      【解决方案2】:

      我认为您应该自己创建 upload_to 目录。还要确保为目录设置适当的权限,否则将无法写入。

      【讨论】:

      • 不需要创建目录,我没有在 settings.py 中设置 MEDIA_ROOT PATH。
      猜你喜欢
      • 2013-11-06
      • 2016-03-15
      • 2016-02-10
      • 1970-01-01
      • 2018-11-27
      • 2011-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多