Я развернул приложение на Heroku, используя их бесплатную учетную запись.
Мои файлы js и css находятся в папке с именем 'media'. Похоже, они обычно помещаются в «статичный», но проект, над которым я строил, уже содержал их в средствах массовой информации, поэтому я просто пошел с ним.
Итак, у меня есть:
<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?
РЕДАКТИРОВАТЬ: я должен отметить, что я не буду загружать что-либо в папку «медиа».