django-css
css・jsをコンプレスしてくれます。ページアクセス時にキャッシュを生成している。
settings.pyでDEBUG = Trueを指定している場合は圧縮しません。
1 pipでinstallする
$ pip install django-css
2 settings.pyを編集する
# MEDIA_ROOT、MEDIA_URLは適切に設定されていることを確認
MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'www')
MEDIA_URL = '/www/'
INSTALLED_APPS = (
# 'compressor'を追記する
'compressor',
)
- テンプレートでの使い方
{% load compress %}
{% compress css %}
<link rel="stylesheet" href="/media/css/one.css" type="text/css" charset="utf-8">
<link rel="stylesheet" href="/media/css/two.sass" type="text/css" charset="utf-8">
{% endcompress %}
{% load compress %}
{% compress js %}
<script src="/media/js/one.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">obj.value = "value";</script>
{% endcompress %}
- ページアクセス時のソースコードで圧縮されていることを確認
<link rel="stylesheet" href="/media/CACHE/css/f7c661b7a124.css" type="text/css" media="all" charset="utf-8">
<script type="text/javascript" src="/media/CACHE/js/3f33b9146e12.js" charset="utf-8"></script>
参考文献