2016-09-21 8 views
0

В моей postinst файле DEB:Может ли Django собирать статические файлы?

PYTHON=/usr/bin/python 
PYTHON_VERSION=`$PYTHON -c 'import sys; print sys.version[:3]'` 
SITE_PACKAGES=/opt/pkgs/mypackage/lib/python$PYTHON_VERSION/site-packages 
export PYTHONPATH=$SITE_PACKAGES 
echo "collect static files" 
$PYTHON manage.py collectstatic --noinput 

When I run 'dpkg -i mypackage.deb' to install the package, no problem.

When I run 'dpkg -i mypackage.deb' to re-install the package, old css files unchanged.

When I changed '$PYTHON manage.py collectstatic --noinput ' to '$PYTHON manage.py collectstatic --noinput -c' and run 'dpkg -i mypackage.deb' to re-install the package, the error is following: OSError: [Errno 2] No such file or directory: '/opt/pkgs/myporject/static'

Любая идея?

Может ли Django собирать статические файлы поверх старых?

+0

Я уверен, что он может. Ошибка, вероятно, в другом месте. Вы пытались поэкспериментировать с ним без использования 'deb' и посмотреть, что он делает? –

ответ

0

(Добавлено здесь, возможно, у кого-то будут проблемы с моим.) Да.

Временная метка файлов css в /opt/pkgs/mypropject/lib/python2.7/site-packages/mypropject-py2.7.egg/myapp/static/css (каталог A) - это время, когда построение пакета завершено, а не время, когда установлены файлы css.

Но временная метка файлов css в/opt/pkgs/myporject/static (каталог B) - это время установки.

Вот почему collectstatic иногда не может перезаписывать старые файлы css (не могу скопировать некоторые css-файлы из каталога A в каталог B).

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