我正在使用django staticfiles + django- storages 和Amazon S3来托管我的数据.一切正常,但每次运行manage.py collectstatic命令时都会将所有文件上传到服务器.
看起来管理命令比较Storage.modified_time()了django-storages在S3存储中未实现的时间戳.
你们如何确定S3文件是否被修改过?
我可以在我的数据库中存储文件路径和最后修改的数据.或者有一种简单的方法从亚马逊拉出最后修改过的数据?
另一个选择:看起来我可以分配任意元数据python-boto,我可以在第一次上传时放置本地修改日期.
无论如何,这似乎是一个常见问题,所以我想问一下其他人使用过什么解决方案.谢谢!
我正在使用Amazon S3为Django项目存储静态文件,但是collectstatic没有找到更新的文件 - 只有新文件.
我一直在寻找答案,我的猜测是我的配置不正确.我按照这篇博客文章来帮助设置所有内容.
我也碰到了这个与我的问题相同的问题,但我已经尝试了所有的解决方案.
以下是一些可能有用的信息:
settings.py
...
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
...
# S3 Settings
AWS_STORAGE_BUCKET_NAME = os.environ['AWS_STORAGE_BUCKET_NAME']
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
S3_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
STATIC_URL = S3_URL
AWS_PRELOAD_METADATA = False
requirements.txt
...
Django==1.5.1
boto==2.10.0
django-storages==1.1.8
python-dateutil==2.1
EDIT1:
如果这个问题对我自己的情况来说过于独特,对大量观众有任何帮助,我深表歉意.尽管如此 - 这长期以来一直在阻碍我的工作效率,而且我浪费了很多时间寻找解决方案,所以我开始奖励那些可以帮助解决这个问题的人.
EDIT2:
我刚刚遇到了类似的问题.我的时区与我的AWS桶的位置不同.如果默认情况下collectstatic使用时间戳,这会干扰进程吗?
谢谢