📝 Вопросы на самопроверку
Ответьте на вопросы самостоятельно, затем проверьте себя в разделе Решения. Вопросы повторяют темы лекции Summary session 4 (Уроки 13–17).
Блок 1: Фреймворк и структура проекта
Вопрос: Фреймворк vs библиотека
В чём разница между фреймворком и библиотекой? Какие преимущества даёт каждый подход?
Вопрос: Создание проекта
Какие команды нужно выполнить для создания нового Django-проекта с именем config в текущей папке? Что означает точка в конце команды?
Вопрос: manage.py
Для чего нужен файл manage.py? Назовите не менее 5 команд, которые он поддерживает.
Вопрос: settings.py
Что хранится в файле settings.py? Объясните назначение настроек: SECRET_KEY, DEBUG, ALLOWED_HOSTS, INSTALLED_APPS, DATABASES.
Вопрос: SECRET_KEY
Что такое SECRET_KEY? Почему его нельзя хранить непосредственно в settings.py в продакшн-среде? Как правильно его хранить?
Блок 2: Приложения и Views
Вопрос: Приложение Django
Что такое Django-приложение? Какую команду использовать для его создания? Из каких файлов состоит новое приложение?
Вопрос: INSTALLED_APPS
Как зарегистрировать созданное приложение в проекте? В чём разница между 'myapp' и 'myapp.apps.MyappConfig' в INSTALLED_APPS?
Вопрос: View и URL
Что такое View в Django? Напишите простое представление, возвращающее ответ «Hello, World!», и URL-маршрут для него.
Блок 3: Модели и поля
Вопрос: Модель Django
Что такое модель в Django? Как она связана с таблицей в базе данных? Что добавляет Django автоматически в каждую модель?
Вопрос: Типы полей
Какое поле использовать для: короткой строки (имя), длинного текста, email, числа с плавающей запятой, даты без времени, булева значения?
Вопрос: null vs blank
В чём разница между параметрами null=True и blank=True? Когда нужно использовать оба одновременно?
Вопрос: choices
Как задать список допустимых значений для поля? Напишите пример модели с полем status, принимающим значения 'draft' и 'published'.
Блок 4: Миграции
Вопрос: Что такое миграция?
Для чего нужны миграции в Django? Что происходит при выполнении makemigrations и migrate?
Вопрос: Добавление поля
Вы добавили новое поле rating = models.IntegerField() в существующую модель, у которой уже есть записи в БД. Что произойдёт при makemigrations? Как правильно добавить поле?
Вопрос: django_migrations
Какую роль играет таблица django_migrations в базе данных? Что в ней хранится?
Блок 5: Admin и связи
Вопрос: Admin-панель
Как зарегистрировать модель в admin-панели? Как создать суперпользователя? По какому адресу доступна admin-панель?
Вопрос: Связи ForeignKey
Что такое ForeignKey? Что означает параметр on_delete=models.CASCADE? Назовите другие варианты on_delete.
Вопрос: Три типа связей
Опишите три типа связей между моделями в Django. Приведите пример жизненной ситуации для каждого из них.