Я пытаюсь получить staticfiles (CSS) для работы на моем сайте Django, развернутом в Openshift. Я могу обойти это, добавив информацию стиля в HTML-шаблоны, но таблицы стилей администратора Django все равно не будут загружаться. Все работает локально, в том числе с отладкой.Django staticfiles
Openshift сохраняет staticfilesunder repo/-> wsgi/-> static /, где основной каталог проекта также находится под wsgi /.
Вот соответствующие части settings.py:
ON_OPENSHIFT = True if 'OPENSHIFT_REPO_DIR' in os.environ else False
PROJECT_DIR = os.path.join(os.path.abspath(os.path.dirname(__file__)), os.pardir)
if ON_OPENSHIFT:
STATIC_ROOT = os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'wsgi', 'static')
else:
STATIC_ROOT = ''
STATIC_URL = '/static/'
if ON_OPENSHIFT:
STATICFILES_DIRS = (os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'wsgi', 'static'))
else:
STATICFILES_DIRS = [os.path.join(PROJECT_DIR, 'static')]
У меня есть сценарий, который выполняется следующее при развертывании:
cd $OPENSHIFT_REPO_DIR/wsgi/squadron
python manage.py collectstatic --noinput
Я использую Python 3.3 и Django 1.6, и ссылаясь на следующие руководства: 1 и 2 из документов.
Что я делаю неправильно? Я не получаю сообщение об ошибке, просто никаких таблиц стилей, ни моих собственных, ни администраторов Django. Когда я использую SCP, я могу проверить, что моя таблица стилей находится в правильном каталоге Openshift.
Каковы ваши настройки для STATICFILES_FINDERS и STATICFILES_STORAGE? Просто чтобы убрать любые легкие исправления, проработайте свой ответ на [этот вопрос] (http://stackoverflow.com/a/21224602/1407227). Кроме того, ваша первая ссылка на STATICFILES_DIRS нуждается в концевой запятой между двумя закрывающимися круглыми скобками: 'STATICFILES_DIRS = (os.path.join (os.environ ['OPENSHIFT_REPO_DIR'], 'wsgi', 'static'))) или выиграл 't интерпретироваться как кортеж, который, конечно, вы действительно хотите. – Stephan
Спасибо - исправлена проблема с запятой. STATICFILES_FINDERS по умолчанию, с ... FileSystemFinder и ... AppDirectoriesFinder. STATICFILES_STORAGE нет, поэтому он имеет значение по умолчанию ... StaticFilesStorage. Отличный учебник по вашей ссылке, но мой установлен правильно в соответствии с ним. –