Django Academy · Pelajaran

WhiteNoise untuk Fail Statik

Hantar aset statik tanpa pengehosan berasingan.

Pelajaran 3 daripada 413 langkah

WhiteNoise untuk Fail Statik ialah pelajaran Django Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Django Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Django Academy merangkumi sejumlah 4 pelajaran.

Masalah Fail Statik

Dalam produksi, Django tidak akan menyampaikan CSS dan JS anda. Biasanya anda memerlukan Nginx atau CDN, yang memerlukan persediaan tambahan. WhiteNoise memudahkannya. 📦

Fungsi WhiteNoise

WhiteNoise membolehkan aplikasi Django anda menyampaikan fail statiknya sendiri dengan cekap, jadi pelancaran mudah yang hanya menggunakan Gunicorn juga boleh menyertakan CSS dan JS.

Sesuai untuk Hos Ringkas

Pada platform seperti Heroku atau bekas kecil yang tiada pelayan web berasingan untuk fail, WhiteNoise mengekalkan semuanya dalam satu proses.

Pasang WhiteNoise

Tambahkan pakej itu menggunakan pip, kemudian tetapkan versinya dalam requirements.txt supaya pelancaran anda boleh dihasilkan semula dengan konsisten. WhiteNoise tidak memerlukan perkhidmatan tambahan.

pip install whitenoise

Tambahkan Middleware

Sisipkan WhiteNoiseMiddleware tepat selepas SecurityMiddleware. Susunan penting kerana middleware ini memintas permintaan statik pada peringkat awal rantaian.

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'whitenoise.middleware.WhiteNoiseMiddleware',
]

Tetapkan Bahagian Penyimpanan

Arahkan STATICFILES_STORAGE kepada WhiteNoise untuk mengaktifkan pemampatan dan nama fail bercincang yang mesra cache secara automatik.

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

Takrifkan STATIC_ROOT

WhiteNoise menyampaikan apa sahaja yang dikumpulkan oleh collectstatic, jadi STATIC_ROOT mesti menunjuk kepada folder tempat fail tersebut diletakkan.

STATIC_ROOT = BASE_DIR / 'staticfiles'

Jalankan collectstatic

Sebelum menyampaikan fail, jalankan collectstatic untuk menyalin aset setiap aplikasi ke dalam STATIC_ROOT. WhiteNoise membaca daripada satu folder itu.

python manage.py collectstatic --noinput

Pemampatan Disediakan Secara Percuma

Bahagian penyimpanan termampat membina awal versi gzip dan brotli bagi fail anda, supaya pelayar memuat turun aset yang lebih kecil dan pantas.

Penyimpanan Cache Jangka Sangat Panjang

WhiteNoise menambahkan cincangan kandungan pada setiap nama fail dan menetapkan pengepala cache yang panjang, supaya pelayar boleh menggunakan semula fail dengan selamat sehingga fail itu benar-benar berubah.

WhiteNoise berbanding Nginx

WhiteNoise lebih mudah, tetapi Nginx khusus atau CDN lebih pantas pada skala yang sangat besar. Buat pilihan berdasarkan trafik dan persediaan pengehosan anda.

Semakan Pantas

Di manakah anda mendaftarkan WhiteNoise dalam projek anda?

Ulang Kaji

Anda telah mengaktifkan WhiteNoise: memasangnya, menambahkan middleware, menetapkan penyimpanan termampat, menjalankan collectstatic, dan membolehkan aplikasi anda menyampaikan fail statik yang dicache sendiri. 🎯

Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “WhiteNoise untuk Fail Statik” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Django Academy, termasuk “WhiteNoise untuk Fail Statik”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Django Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “WhiteNoise untuk Fail Statik”?

Hantar aset statik tanpa pengehosan berasingan. Anda berlatih Django Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Django Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Django Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “WhiteNoise untuk Fail Statik” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Django Academy ini?

Ya. Setiap pelajaran Django Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Gunicorn sebagai Pelayan WSGI
  2. Nginx sebagai Proksi Songsang
  3. WhiteNoise untuk Fail Statik
  4. Pemboleh Ubah Persekitaran dan Pemisahan Tetapan
← Kembali ke Django Academy