我已经使用其免费帐户在Heroku上部署了一个应用程序。如何在Heroku上部署django应用程序时设置MEDIA_ROOT和MEDIA_URL
我有我的js和css文件在名为'媒体'的文件夹内。看起来这些通常都是静态的,但是我建立的项目已经将它们放在了媒体中,所以我只是随它而行。
所以我必须:
<link rel="stylesheet" type="text/css" media="screen" href="{{ MEDIA_URL }}css/style.css" />
而在我的settings.py文件,我有:
abspath = lambda *p: os.path.abspath(os.path.join(*p))
PROJECT_ROOT = abspath(os.path.dirname(__file__))
MEDIA_ROOT = abspath(PROJECT_ROOT, 'media')
MEDIA_URL = '/media/'
我部署我的应用程序后,我设置:
DEBUG = False
现在我的模板渲染没有CSS。我四处搜索,看起来像MEDIA_ROOT和MEDIA_URL的问题。我发现的大部分内容都是让静态文件在制作中工作,或者让媒体文件在开发中工作。这看起来像让媒体文件在生产中工作。
我到底应该将MEDIA_ROOT和MEDIA_URL设置为什么?
编辑:我应该指出,我不会上传任何东西到'媒体'文件夹。
我确实把所有的静态文件放在S3上,并让它工作。你知道你是否应该把所有的管理媒体文件放在那里?这就是我最终做的,但似乎有更好的办法... – SecondMatter 2012-03-15 15:43:47
管理文件?不,他们在heroku上开箱即可。创建项目后的第一件事情我确实启用了管理网站,它工作! – 2012-03-19 20:37:42
但S3可能比heroku更快。所以它也不错。 (有人声称,在独立提供商托管SQL可以提高您的请求每分钟的最大限制8倍!因此,如果此设置为您工作,请不要更改它。) – 2012-03-21 15:16:02