
Settings та конфігурація для production
Розділення settings (base/dev/prod), керування секретами, ALLOWED_HOSTS, CSRF_TRUSTED_ORIGINS, settings SECURE_*, .env/vault, конфігурація сховища
1Яка структура рекомендується для організації файлів settings проєкту Django у production?
Яка структура рекомендується для організації файлів settings проєкту Django у production?
Відповідь
Рекомендована структура полягає у створенні пакета settings з файлом base.py, що містить спільні конфігурації, а потім окремих файлів dev.py, staging.py та prod.py, які імпортують і розширюють base.py. Такий підхід дозволяє ділитися спільною конфігурацією, водночас налаштовуючи конкретні середовища, що спрощує підтримку та зменшує дублювання коду.
2Як вказати, який файл settings використовувати під час запуску проєкту Django?
Як вказати, який файл settings використовувати під час запуску проєкту Django?
Відповідь
Змінна середовища DJANGO_SETTINGS_MODULE дозволяє вказати Python-шлях до модуля settings, який слід використовувати. Наприклад, DJANGO_SETTINGS_MODULE=myproject.settings.prod вказує Django використовувати файл prod.py з пакета settings. Цю змінну можна задати в shell, у файлах конфігурації сервера або в скриптах розгортання.
3Яка функція setting ALLOWED_HOSTS у Django?
Яка функція setting ALLOWED_HOSTS у Django?
Відповідь
ALLOWED_HOSTS — це список доменів/хостів, яким дозволено обслуговувати застосунок Django. Цей механізм безпеки захищає від атак HTTP Host header, перевіряючи заголовок Host кожного запиту. У production з DEBUG=False цей setting є обов'язковим і має містити легітимні домени застосунку, щоб уникнути помилок 400 Bad Request.
Яке значення ALLOWED_HOSTS приймає будь-який хост, і чому це небезпечно в production?
Для чого призначений setting CSRF_TRUSTED_ORIGINS, представлений у Django 4.0?
+19 питань зі співбесід
Інші теми співбесід Django
Основи Python
Об'єктно-орієнтований Python
Основи Django
Models Django - Основи
Django Views
Шаблони Django
Форми Django
Розширені QuerySets
Автентифікація Django
Django Middleware
Django Admin
Django REST Framework
Сигнали Django
Завантаження файлів
Кешування в Django
Сесії Django
Email у Django
Тестування Django
Безпека Django
Розгортання Django
Просунутий Django ORM
Продуктивність Django
Django & Celery
Django Channels
Django & GraphQL
Django & Docker
Django в екосистемі мікросервісів
Користувацькі команди Django
Інтернаціоналізація Django
Патерни проєктування Django
Django Async та ASGI
Спостережуваність і моніторинг
Опануй Django для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно