如何在heroku上设置django的collectfast?

时间:2015-08-19 10:45:34

标签: django heroku amazon-s3 collectstatic

如何在heroku上为django设置collectfast? 这假设我已经成功设置了从Amazon S3托管和服务的静态文件。

1 个答案:

答案 0 :(得分:2)

1)要禁用heroku的自动collectstatic,请运行:

heroku config:set DISABLE_COLLECTSTATIC=1

2)将以下内容添加到settings.py,以使用数据库中的表格进行collectfast缓存。提交并推送更改为heroku。

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
    },
    'collectfast': {
        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
        'LOCATION': 'collectfast_cache',
        'TIMEOUT': 60,
        'OPTIONS': {
            'MAX_ENTRIES': 10000
        },
    },
}
COLLECTFAST_CACHE = 'collectfast'

4)要在数据库中创建所需的缓存表,请运行:

heroku run createcachetable

5)要恢复heroku的自动收集,请运行:

heroku config:unset DISABLE_COLLECTSTATIC

现在,每个部署都会正确使用collectfast将已修改的静态文件收集到s3。