Djangoのstaticリソースのキャッシュ対策

Djangoのstaticリソースのキャッシュ対策

2020-09-08

Djangoの静的リソース(staticディレクトリ)内のキャッシュを楽にbustingしてキャッシュ対策を行いたい

今回は「django-cachekiller」を使ってみる

https://github.com/meeb/django-cachekiller

インストール

pipでdjango-cachekillerをインストールする

pip install django-cachekiller

INSTALLED_APPSにdjango-cachekillerを追加

INSTALLED_APPS = [
    # ...
    'django_cachekiller',
]

使い方

使用テンプレートに

{% load cdnstaticfiles %}

を追加し、キャッシュを無効にしたいリソースを下記のようにして読み込む

<link rel="stylesheet" href="{% cdnstatic 'css/style.css' %}" type="text/css" />

そうすると、下記のような形で出力される

<link href="/static/css/style.css?tag=c3cfd281ef3eda" rel="stylesheet" type="text/css"/>