在我的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
当我运行' dpkg -i mypackage.deb'安装包,没问题。
当我运行' dpkg -i mypackage.deb'要重新安装包,旧的 css文件不变。
当我改变了$ PYTHON manage.py collectstatic --noinput' to' $ PYTHON manage.py collectstatic --noinput -c'并运行' dpkg -i mypackage.deb'要重新安装软件包,错误是 以下:OSError:[Errno 2]没有这样的文件或目录: ' /选择/ PKGS / myporject /静态'
有什么想法吗?
Django collectstatic可以覆盖旧文件吗?
答案 0 :(得分:0)
(在这里添加,也许有人会遇到同样的问题。) 是。
/opt/pkgs/mypropject/lib/python2.7/site-packages/mypropject-py2.7.egg/myapp/static/css(目录A)中的css文件的时间戳是包构建完成的时间,而不是安装css文件的时间。
但是/ opt / pkgs / myporject / static(目录B)中的css文件的时间戳是安装时间。
这就是为什么collectstatic有时不能覆盖我的旧css文件(无法将一些css文件从目录A复制到目录B)。