为什么我的图片上传失败了django?

时间:2012-12-10 01:13:52

标签: django django-admin django-uploads

我正在尝试构建一个django应用程序并将其托管在webfaction上。

我的模型看起来像这样:

class Post(models.Model):
    title = models.CharField(max_length=512)
    image = models.ImageField(upload_to='blogImages/')
    body = models.TextField()
    visible = models.BooleanField()
    date_created = models.DateTimeField(auto_now_add=True)
    date_updated = models.DateTimeField(auto_now=True)
    tags = models.ManyToManyField('Tag', null=True, blank=True)

    def __unicode__(self):
        return self.title

设置如下:

MEDIA_ROOT = '/home/myself/webapps/dev_static/media/'
MEDIA_URL = 'http://dev.example.com/static/media/'
STATIC_ROOT = '/home/myself/webapps/dev_static/'
STATIC_URL = 'http://dev.example.com/static/'

当我转到我的服务器并尝试上传图片时,我收到此错误:

SuspiciousOperation at /admin/blog/post/add/
Attempted access to '/home/myself/wrong/path/appname/blogImages/Portal2-Logo.jpg' denied.

我正在试图找出错误的路径可能来自哪里。我还应该在哪里寻找错误的道路?

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,用

解决了
 image = models.ImageField(upload_to='/blogImages/') 

而不是(upload_to='blogImages/')

答案 1 :(得分:0)

错误是返回旧的静态媒体路径。重新启动Apache后,它使用正确的路径开始正常工作。