Назад | Перейти на главную страницу

статические файлы в OpenShift / Python27 / Django в пользовательской сборке

Я много искал решение своей проблемы; однако, из-за отсутствия успеха я решил задать вопрос.

Вкратце: я создал OpenShift app / build на основе этого репо (в сочетании с картриджем DIY 0.1):

https://github.com/ehazlett/openshift-diy-py27-django

У меня (очевидно довольно распространенная) проблема заключается в том, что я не могу получить доступ к работающим статическим файлам; я пытался много.

Вот несколько вещей из всего, что я пробовал до сих пор (и я предполагаю, что wsgi для этой сборки - / app / (?)):

При необходимости я могу предоставить дополнительную информацию, но пока это важно.

Следует отметить, что это уникальный случай для данной сборки, поскольку у меня нет проблем, когда я создаю приложение на основе полностью поддерживаемого Картридж Python26 / Django.

Приветствуются любые предложения ..!

Ура ~

Эта статья «Обслуживание статических активов Django на OpenShift», похоже, предлагает решение.

Статические файлы должны обслуживаться непосредственно Apache, а не Django. Процесс выглядит следующим образом (при условии, что ваша кодовая база /srv/code/project):

  • Поместите свои статические файлы в /srv/code/project/app/static/ (где app перечислен в INSTALLED_APPS)
  • Если вам нужны статические файлы, не связанные с приложением (или общие для многих), определите каталог в STATICFILES_DIRS (обычно в вашей кодовой базе, например /srv/code/project/static/) и поместите туда файлы.
  • Определить STATIC_ROOT вне вашей кодовой базы, например /srv/www/example.com/static/. Он будет действовать как кеш для всех статических файлов.
  • Каждый раз при развертывании новой версии проекта запускайте python manage.py collectstatic. Это пройдёт по всем статическим каталогам и скопирует файлы в STATIC_ROOT.
  • Настройте Apache для обслуживания всех запросов в /static/ из STATIC_ROOT.