📝 Django

Django: чеклист для продакшна

P
Автор
Pyland
📅
Опубликовано
30.06.2026
⏱️
Время чтения
1 мин
👁️
Просмотров
82
🌳
Уровень
Продвинутый
🐦 💼 ✈️

Используй PostgreSQL, а не SQLite.

Безопасность

# settings.py
DEBUG = False
SECRET_KEY = os.environ['SECRET_KEY']  # из переменной окружения
ALLOWED_HOSTS = ['yourdomain.com']

# HTTPS
SECURE_SSL_REDIRECT = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
SECURE_HSTS_SECONDS = 31536000
SECURE_HSTS_INCLUDE_SUBDOMAINS = True

# Защита от кликджекинга
X_FRAME_OPTIONS = 'DENY'

База данных

DATABASES = {
    'default': dj_database_url.config(conn_max_age=600)
}

Используй PostgreSQL, а не SQLite.

Статические файлы

pip install whitenoise
MIDDLEWARE = ['whitenoise.middleware.WhiteNoiseMiddleware', ...]
STATIC_ROOT = BASE_DIR / 'staticfiles'
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
python manage.py collectstatic --no-input

Logging

LOGGING = {
    'version': 1,
    'handlers': {
        'console': {'class': 'logging.StreamHandler'},
    },
    'root': {'handlers': ['console'], 'level': 'WARNING'},
}

Медиафайлы

Не храни медиафайлы на сервере — используй S3 или аналог:

pip install django-storages boto3

Мониторинг ошибок

pip install sentry-sdk
import sentry_sdk
sentry_sdk.init(dsn=os.environ['SENTRY_DSN'])

Команда проверки

python manage.py check --deploy

Выведет список проблем с безопасностью.

Чеклист

  • [ ] DEBUG = False
  • [ ] SECRET_KEY из переменной окружения
  • [ ] PostgreSQL вместо SQLite
  • [ ] collectstatic выполнен
  • [ ] HTTPS настроен
  • [ ] Миграции применены
  • [ ] Суперпользователь создан
  • [ ] Логирование настроено
  • [ ] Sentry подключён

Ваша реакция на статью

💬 Комментарии (0)

🔐 Войдите в систему, чтобы оставить комментарий
🚪 Войти
💭

Комментариев пока нет

Станьте первым, кто поделится мнением об этой статье!

🔗 Похожие

Похожие статьи

Продолжите изучение с этими материалами

📝

pytest-django: тестирование Django

Охватываемые темы: Установка, @pytest.mark.djangodb, Фикстуры, Тестирование views.

📅 30.06.2026 👁️ 138
📝

Django: Теги шаблонов

Теги шаблонов — это логика внутри HTML. В отличие от {{ переменная }}, которая только...

📅 30.06.2026 👁️ 91
📝

Списки в HTML

Список — один из самых частых элементов разметки. Навигационное меню, теги поста, шаги инструкции, глоссарий...

📅 30.06.2026 👁️ 90

Понравилась статья?

Подпишитесь на наши обновления и получайте новые статьи первыми. Развивайтесь вместе с PyLand!