我正在尝试构建一个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.
我正在试图找出错误的路径可能来自哪里。我还应该在哪里寻找错误的道路?
答案 0 :(得分:0)
我遇到了同样的问题,用
解决了 image = models.ImageField(upload_to='/blogImages/')
而不是(upload_to='blogImages/')
答案 1 :(得分:0)
错误是返回旧的静态媒体路径。重新启动Apache后,它使用正确的路径开始正常工作。