2015-05-12

django compressor 找不到 offline manifest 問題解法

如果你用 django compressor,而且你用的是 offline compress
COMPRESS_ENABLED = True
COMPRESS_OFFLINE = True
那麼你有可能會遇到以下錯誤訊息

  1. You have offline compression enabled but key "70be2d0f8286eb3a32bfe94a55518c8f" is missing from offline manifest. You may need to run "python manage.py compress".
這代表你的 compress tag 包夾的內容含有動態性的資料
因為 compressor 是用內容 hash 成 hash code 去 lookup cached javascript
所以 offline compress 的東西產生的 hash code 會跟你線上得到的 code 不一樣
例如以下這個例子,拿掉{{user.email}}即可正常
  1. {% compress js %}
  2. ......
  3. formData.append('email', '{{ user.email }}');
  4. ......
  5. {% endcompress %}
請確保你的 compress 是壓縮最內層、乾淨的「靜態」資料

沒有留言:

張貼留言