Django-compressor: Kesalahan Kompresi Offline

Dibuat pada 25 Sep 2013  ·  6Komentar  ·  Sumber: django-compressor/django-compressor

Saya telah menghabiskan satu minggu untuk men-debug ini (dua minggu terpisah yang berbeda) dan saya cukup frustrasi. Saya rasa saya telah membaca hampir setiap artikel/postingan blog/isu di luar sana, dan tidak tahu harus berbuat apa. Saya memiliki server pementasan dan server produksi (masing-masing dengan ember s3 terpisah) dan ini berfungsi pada pementasan, tetapi tidak produksi, meskipun server (di Heroku) dan ember identik.

Saya telah membuatnya sehingga tag kompres hanya muncul di templat anak. Saya telah menghapus semua tag templat dari dalam tag kompres (mis. if/else)., artinya saya memiliki lebih banyak tag kompres sehingga pernyataan if/else dapat berada di luar tag kompres.

Adakah yang memiliki pengaturan kompresi offline yang berfungsi dalam produksi di mana saja untuk dilihat? Dengan kompres offline=False--ada beban ekstra yang signifikan pada server, sering kali tambahan penundaan 300-500 ms, yang jelas tidak sepadan dan mengalahkan seluruh tujuan paket ini.

Saya benar-benar dapat menggunakan bantuan, tetapi pada dasarnya tidak tahu apa yang harus dilakukan pada saat ini, karena ini adalah masalah yang sama yang dapat Anda baca dengan ratusan orang dalam daftar masalah di sini, di posting blog di tempat lain, dan tampaknya tidak ada solusi yang dapat diulang. sedang disarankan--yang merupakan masalah besar untuk sesuatu yang sangat penting ini untuk kinerja dan yang mungkin diperlukan setiap penyebaran Django.

deployment

Komentar yang paling membantu

Hari-hari terakhir saya sibuk menyelesaikan masalah yang sama, dan inilah perbaikannya, jika itu membantu seseorang.

Di salah satu templat, di mana masalahnya dapat direproduksi, saya menggunakan konteks. Selama kompresi offline tidak ada akses ke konteks, itu sebabnya kunci yang dihasilkan selama kompresi offline, dan yang dari siklus respons jelas akan berbeda.

Coba pisahkan bagian JavaScript tempat Anda mengandalkan konteks ke blok lain, yang berada di luar tag kompres.

Semoga informasi ini membantu seseorang.

Semua 6 komentar

Hal yang sama di sini. Tampaknya COMPRESS_OFFLINE Django_compressor membuat lebih banyak masalah daripada menyelesaikannya. Saya tidak dapat membuatnya berfungsi karena menerima pesan seperti itu:

OfflineGenerationError: You have offline compression enabled but key "%s" 
is missing from offline manifest. You may need to run "python manage.py compress".

Sama disini :/

Tidak dapat membuat kompresi offline berfungsi. Terus dapatkan OfflineGenerationError.

Jadi saya memastikan saya menjalankan yang berikut ini selama setiap penerapan di semua server web

python manage.py kompres --force
python manage.py collectstatic

Itu harus menyegarkan file manifest.json. Saya juga memastikan nama file manifes berbeda dengan setiap Push. Seperti menambahkan nomor versi. manifest_%s.json
Saya menggunakan git commit hash id terbaru untuk plugin %s. Jadi selama penerapan itu melakukan git pull, kompres, collectstatic, membuat css/js minified/agregat baru dengan file manifest.json baru.
Dan kemudian saya me-restart Apache. Jadi semuanya harus lancar.

Saya juga memastikan collectstatic tidak memanggil --clear, untuk menghapus media statis/* lama.

Masuk akal?

ok saya punya masalah yang sama persis.
Adakah yang menjalankan ini secara offline dari S3 dengan cara yang andal?

Hari-hari terakhir saya sibuk menyelesaikan masalah yang sama, dan inilah perbaikannya, jika itu membantu seseorang.

Di salah satu templat, di mana masalahnya dapat direproduksi, saya menggunakan konteks. Selama kompresi offline tidak ada akses ke konteks, itu sebabnya kunci yang dihasilkan selama kompresi offline, dan yang dari siklus respons jelas akan berbeda.

Coba pisahkan bagian JavaScript tempat Anda mengandalkan konteks ke blok lain, yang berada di luar tag kompres.

Semoga informasi ini membantu seseorang.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat