【问题标题】:Can Django collectstatic overwrite old files?Django collectstatic 可以覆盖旧文件吗?
【发布时间】:2017-01-29 21:38:18
【问题描述】:

在我的 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 ' 到 '$PYTHON manage.py collectstatic --noinput -c' 并运行 'dpkg -i mypackage.deb' 以重新安装包,错误是 以下:OSError:[Errno 2]没有这样的文件或目录: '/opt/pkgs/myporject/static'

有什么想法吗?

Django collectstatic 可以覆盖旧文件吗?

【问题讨论】:

  • 我相信它可以。错误可能在其他地方。您是否尝试过在不使用 deb 的情况下对其进行试验,看看它有什么作用?

标签: python css django debian deb


【解决方案1】:

(在这里添加,也许有人会和我有同样的问题。) 是的。

/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)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-12
    • 2019-09-12
    • 1970-01-01
    • 2018-02-22
    • 2014-01-16
    • 2012-12-19
    • 1970-01-01
    • 2014-04-20
    相关资源
    最近更新 更多