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

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

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"
/>