0Pricing
Django Academy · Урок

WhiteNoise для статических файлов

Поставляйте статические ресурсы без отдельного хостинга

«WhiteNoise для статических файлов» — бесплатный урок Django Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Django Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Django Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

The Static File Problem

In production Django will not serve your CSS and JS for you. Normally you need Nginx or a CDN, which adds setup. WhiteNoise simplifies this. 📦

What WhiteNoise Does

WhiteNoise lets your Django app serve its own static files efficiently, so a simple Gunicorn-only deploy can ship CSS and JS too.

Great for Simple Hosts

On platforms like Heroku or small containers where there is no separate web server for files, WhiteNoise keeps everything in one process.

Install WhiteNoise

Add the package with pip, then pin it in requirements.txt so your deploys stay reproducible. WhiteNoise needs no extra services.

pip install whitenoise

Add the Middleware

Insert the WhiteNoiseMiddleware right after SecurityMiddleware. Order matters, since it intercepts static requests early in the chain.

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

Set the Storage Backend

Point STATICFILES_STORAGE at WhiteNoise to enable compression and cache-friendly hashed filenames automatically.

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

Define STATIC_ROOT

WhiteNoise serves whatever collectstatic gathers, so STATIC_ROOT must point to the folder where those files land.

STATIC_ROOT = BASE_DIR / 'staticfiles'

Run collectstatic

Before serving, run collectstatic to copy every app's assets into STATIC_ROOT. WhiteNoise reads from that single folder.

python manage.py collectstatic --noinput

Compression Comes Free

The compressed storage backend pre-builds gzip and brotli versions of your files, so browsers download smaller, faster assets.

Far-Future Caching

WhiteNoise adds a content hash to each filename and sets long cache headers, so browsers safely reuse files until they truly change.

WhiteNoise vs Nginx

WhiteNoise wins on simplicity, but a dedicated Nginx or CDN is faster at huge scale. Pick based on your traffic and hosting setup.

Quick Check

Where do you register WhiteNoise in your project?

Recap

You enabled WhiteNoise: install it, add the middleware, set compressed storage, run collectstatic, and your app serves cached static files itself. 🎯

Часто задаваемые вопросы

Урок «WhiteNoise для статических файлов» бесплатный?

Да — полный текст урока «WhiteNoise для статических файлов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Django Academy, подпишись на CoddyKit PRO. Курс Django Academy содержит 4 уроков всего.

Чему я научусь в уроке «WhiteNoise для статических файлов»?

Поставляйте статические ресурсы без отдельного хостинга Ты практикуешь Django Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Django Academy?

Предыдущий опыт не требуется. Django Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «WhiteNoise для статических файлов»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Django Academy?

Да. Каждый урок Django Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Gunicorn как WSGI-сервер
  2. Nginx как обратный прокси
  3. WhiteNoise для статических файлов
  4. Переменные окружения и разделение настроек
← Назад к Django Academy