2016-09-21 9 views
0

Djangoのcollectstaticは古いファイルを上書きできますか?私のdebのpostinstファイルで

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

(ここでは、誰かが同じ問題を抱えている可能性があります) はい。

/opt/pkgs/mproject/lib/python2.7/site-packages/mypropject-py2.7.egg/myapp/static/css(ディレクトリA)にあるcssファイルのタイムスタンプは、パッケージビルドcssファイルがインストールされた時点ではなく終了しました。

しかし、/ opt/pkgs/myporject/static(ディレクトリB)にあるcssファイルのタイムスタンプは、インストール時です。

これは、collectstaticが私の古いcssファイルを上書きすることができないためです(ディレクトリAからディレクトリBにいくつかのcssファイルをコピーできないことがあります)。

関連する問題