Джанго подтолкнул Героку: "Неизвестная команда:" сжать ""?

Я пытаюсь развернуть новое приложение Django/Wagtail в Heroku, но у меня возникают проблемы.

Я следую этому уроку, который работает до последнего раздела "Обслуживание статических ресурсов в Heroku". Когда я нажимаю приложение на Heroku с git push heroku masterоднако, это терпит неудачу с этой ошибкой:

...
remote:        182 static files copied to '/app/static', 182 post-processed.
remote: 
remote: -----> Running run_compress
remote: -----> Compressing static files
remote:        Unknown command: 'compress'
remote:        Type 'manage.py help' for usage.
remote: 
remote:  !     Push rejected, failed to compile Python app
remote: 
remote: Verifying deploy....
remote: 
remote: !   Push rejected to myapp.
remote: 
To https://git.heroku.com/myapp.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/myapp.git'
$

Предположительно, у Heroku проблемы с Django Compressor, хотя в руководстве не указана его установка, поэтому я не уверен. Вместо этого в руководстве описывается установка книги под названием Heroku Django Cookbook, в которой указывается run_compress в bash файл, который выглядит так:

#!/usr/bin/env bash
set -eo pipefail

indent() {
    RE="s/^/       /"
    [ $(uname) == "Darwin" ] && sed -l "$RE" || sed -u "$RE"
}

MANAGE_FILE=$(find . -maxdepth 3 -type f -name 'manage.py' | head -1)
MANAGE_FILE=${MANAGE_FILE:2}

echo "-----> Compressing static files"
python $MANAGE_FILE compress 2>&1 | indent

echo

Ну, это похоже manage.py compress не работает Или же это может быть что-то с Whitenoise, так как это раздел учебника, который терпит неудачу. Кажется, установлен правильно, хотя. Вот соответствующие строки из моего settings.py:

...
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'

COMPRESS_OFFLINE = True
COMPRESS_CSS_FILTERS = [
    'compressor.filters.css_default.CssAbsoluteFilter',
    'compressor.filters.cssmin.CSSMinFilter',
]
COMPRESS_CSS_HASHING_METHOD = 'content'
...

наконец, вот мой requirements.txt

beautifulsoup4==4.4.1
dj-database-url==0.4.1
dj-static==0.0.6
Django==1.9.6
django-appconf==1.0.2
django-compressor==2.0
django-modelcluster==1.1
django-taggit==0.18.3
django-toolbelt==0.0.1
django-treebeard==4.0.1
djangorestframework==3.3.3
gunicorn==19.6.0
html5lib==0.9999999
Pillow==3.2.0
psycopg2==2.6.1
python-dateutil==1.5
pytz==2016.4
rcssmin==1.0.6
requests==2.10.0
rjsmin==1.0.12
six==1.10.0
static3==0.7.0
Unidecode==0.4.19
wagtail==1.4.5
whitenoise==3.2
Willow==0.3.1

Есть идеи? Все приводы приветствуются. Спасибо!

1 ответ

Решение

Похоже, вы не добавили compressor к INSTALLED_APPS,

Также стоит отметить, что трясогузка больше не зависит отdjango_compressor начиная с версии 1.4, так что если вам не нужно django_compressorфункциональность, вы можете просто удалить его из своего проекта.

Другие вопросы по тегам