【问题标题】:Django admin gives a suspiciouserror when trying to upload an image with imagefieldDjango 管理员尝试使用 imagefield 上传图像时出现可疑错误
【发布时间】:2011-12-23 12:08:29
【问题描述】:

我知道这个问题被问了好几次,但似乎这个问题很奇怪。

我设置了settings.py的MEDIA_ROOT = '/home/siteowner/proj/proj/static/product_photos/' 然后我创建了一个photo = models.ImageField("logo", upload_to="", blank=True, null=True) 模型属性。

当然,我已经创建了正确的路径(MEDIA_ROOT 中指定的路径)并且我给了它chmod 775

尽管如此,当我尝试提交我总是得到的数据时:

SuspiciousOperation at /admin/catalogo/catalog/add/
Attempted access to './image.jpg' denied.

如您所见,我没有在 upload_to 前添加任何斜杠(这似乎是此类模型字段最常见的错误)。

我在 virtualenv 中使用 mod_wsgi 运行 django(因为我在使用 py2.7 的 ubuntu 10.04 上)如果这可能有帮助(顺便说一句,django 工作正常)。

有什么想法吗?

【问题讨论】:

    标签: django django-models django-admin django-forms


    【解决方案1】:

    据我所知,'upload_to' 不能为空。我会将 MEDIA_ROOT 设置为:

    '/home/siteowner/proj/proj/static/'

    然后将“product_photos”指定为upload_to 属性。

    【讨论】:

    • 也不能使用相对路径,因为 Apache 进程的当前工作目录可以是任何东西。