我正在使用此STATIC_ROOT和MEDIA_ROOT配置:
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
STATIC_ROOT = os.path.join(BASE_DIR, 'wsgi', 'static')
MEDIA_ROOT = os.path.join(BASE_DIR, 'wsgi', 'static', 'media')
MEDIA_URL = '/media/'
MEDIA_DIR = os.path.join(BASE_DIR, "")
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, "templates"),
)
我正在使用这个模型:
class Picture(models.Model):
image = models.ImageField(upload_to='media', verbose_name="Foto")
但图片上传到此文件夹:
/project_root/wsgi/static/media/media
当我尝试通过“Inspect element”查找图片时,会显示以下网址:
/media/media/picture.jpg
但正确的网址是:
media/wsgi/static/media/media/picture.jpg
你能帮我解决我做错的事吗?感谢。
修改
以上信息是我在本地运行的时候。这是部署数据:
Request URL: http://phoebe-rogergonzalez.rhcloud.com/media/media/picture.jpg
"/var/lib/openshift/bunchofnumbers/app-root/runtime/repo/media/picture.jpg" doesn't exists.
另外,我正在使用OpenShift。
答案 0 :(得分:1)
我通过更改MEDIA_URL来解决它:
MEDIA_URL = '/static/media/'
它现在完美无瑕。我希望这有助于其他人。