2014-02-02 4 views
3

Я пытаюсь получить 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.

+1

Каковы ваши настройки для 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

+0

Спасибо - исправлена ​​проблема с запятой. STATICFILES_FINDERS по умолчанию, с ... FileSystemFinder и ... AppDirectoriesFinder. STATICFILES_STORAGE нет, поэтому он имеет значение по умолчанию ... StaticFilesStorage. Отличный учебник по вашей ссылке, но мой установлен правильно в соответствии с ним. –

ответ

Смежные вопросы