我正在使用amazon s3存储我的所有静态文件(通过django-storages),并且PUT的成本要高于GET。当我运行manage.py collectstatic
时,Django为我拥有的每个静态文件执行PUT。有没有办法让它首先检查文件是否完全改变,如果它没有打扰PUT?
答案 0 :(得分:12)
看来您需要做的就是安装python-dateutil:
pip install python-dateutil==1.2
如果没有这个django-storage,则不会因为这段代码而检查日期:
def modified_time(self, name):
try:
from dateutil import parser, tz
except ImportError:
raise NotImplementedError()
modified_time
抛出一个错误,但django只是继续前进,因为它允许存储子类的modified_time
方法未实现。我理解为什么他们这样做,因为这个功能并不是严格需要的。也就是说,如果有某种警告说明为什么一切都被上传,那就太好了。
请注意,我使用的是python-dateutil 1.2版。如果您使用最新版本的dateutil,则会出现django-storages错误(即django-storages版本1.1.4)。