我已經使用其免費帳戶在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