django-compressorがめっちゃ便利だったので導入手順のメモ
js,cssのminifyをDjango側で受け持ってくれる、かつ、template上で以下のように、上からがばっとラッパー的に使うだけでなんでもminifyしてくれる(※外部ドメインから取ってきた物を除く)ので、レガシーコードでもなんでも対応出来るのが良いと思った
使用例
1 2 3 4 5 6 7
| {% compress js %} <script src="なんやかんや.js"></script> {% endcompress %}
{% compress css %} <link rel="stylesheet" href="なんやかんや.css"> {% endcompress %}
|
インストール
1 2 3 4
| $ pip install django-compressor
$ pip freeze | grep django-compressor django-compressor==2.2
|
設定
settings.py
にいくつか変更を加えます
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| // 「INSTALLED_APPS」に「compressor」を追加 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'material', 'material.frontend', 'compressor', # 追加 'webapp' ]
// settings.pyのどこでも良いので以下を追加 // Django1.10のデフォルトでは、STATICFILES_FINDERSは省略されているが // 既にSTATICFILES_FINDERSがある場合は、「compressor.finders.CompressorFinder」の行のみ追加 STATICFILES_FINDERS = ( 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder', # 追加 ) COMPRESS_ENABLED = True # 追加
|