1

我正在尝试使用 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);" }}
4

2 回答 2

2

除非您在媒体存储方面做一些特殊的事情,否则您应该将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()
于 2013-01-27T04:05:36.800 回答
-2

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

于 2013-01-26T23:43:14.130 回答