Python | Тесты
6.17K subscribers
30 photos
320 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Вопросы собесов t.me/+cnJC0_ZeZ_I0OGY6
Задачи t.me/+nsl4meWmhfQwNDVi
Вакансии t.me/+cXGKkrOY2-w3ZTky
Download Telegram
🤔 Какие стратегии расширения Django известны?

Django можно расширять через подключение сторонних библиотек, создание middleware, написание собственных шаблонных фильтров, а также использование сигналов и кастомных полей моделей.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
🤔 Как в Python обработать исключение, которое может возникнуть при выполнении кода?
Anonymous Quiz
93%
try...except
5%
if...else
1%
check...catch
1%
error...handle
👍53🤯2💊1
🤔 Как Django обрабатывает запрос/ответ?

Django принимает запрос через middleware, передаёт его в подходящий view, где выполняется бизнес-логика. После обработки view возвращает HTTP-ответ, который снова проходит через middleware перед отправкой клиенту.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍3
🤔 Как создать views?

Views создаются как функции или классы в файле views.py, которые принимают запрос и возвращают HTTP-ответ. Например, с использованием функций HttpResponse или рендеринга шаблонов через render.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3🤔2💊1
🤔 Что известно про manage.py в Django?

Это управляющий скрипт Django, который выполняет различные команды для работы с проектом. Он используется для:
- Запуска сервера разработки (runserver)
- Создания и применения миграций (makemigrations, migrate)
- Создания суперпользователя (createsuperuser)
- Запуска shell-интерпретатора (shell)
- Очистки базы данных (flush)
Это ключевой инструмент для управления Django-проектом.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4
🤔 Что известно про Django Rest Framework?

Это расширение Django, которое позволяет создавать API. Он предоставляет:
- ViewSet'ы и APIView для обработки запросов
- Serializers для конвертации данных
- Аутентификацию (JWT, OAuth, сессии)
- Throttle и Permissions для контроля доступа
DRF делает Django удобным инструментом для создания RESTful API.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥21
🤔 Как настраивать ссылки?

Ссылки настраиваются через
urls.py, где используются:
- Функция path() для определения URL-адресов
- Функция include() для вложенных маршрутов
- Динамические параметры в URL (<int:id>)
- Именованные маршруты (name="home") для удобной генерации ссылок
Использование reverse() и {% url %} помогает генерировать ссылки в коде и шаблонах.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4
🤔 Как описать модель проектирования?

Использует шаблон MVC (Model-View-Controller), но адаптирован под MTV (Model-Template-View). Основные компоненты:
- Model — представляет данные и логику базы данных
- Template — отвечает за отображение
- View — обрабатывает логику запроса и ответа


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍41
🤔 Что такое сигналы?

Это механизм обратного вызова (callback), позволяющий реагировать на события в Django. Они используются для:
- Действий после сохранения объекта (post_save)
- Удаления объектов (post_delete)
- Изменения данных пользователей (user_logged_in)


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7💊4👍3
🤔 Что такое класс BaseView?

Это базовый класс для создания представлений. Django предлагает два типа представлений:
- Функциональные (function-based views, FBV)
- Классовые (class-based views, CBV)


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
🤔 Как реализовывать views: функцией или классом?

Представления (views) можно реализовать двумя способами:
- Функциональные представления (FBV, Function-Based Views)
- Обычные Python-функции, принимающие request и возвращающие HttpResponse
- Просты в использовании, но плохо масштабируются
- Классовые представления (CBV, Class-Based Views)
- Основаны на views.View, позволяют переопределять get(), post()
- Поддерживают миксин-классы, упрощают повторное использование кода


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2🤯1
🤔 Какие есть основные middleware, зачем они нужны?

Это прослойки, обрабатывающие запросы перед их передачей во view. Основные middleware в Django:
- SecurityMiddleware – включает защиту от XSS, HSTS
- SessionMiddleware – управляет сессиями пользователей
- AuthenticationMiddleware – привязывает пользователя к request.user
- CSRFViewMiddleware – защищает от CSRF-атак
- CommonMiddleware – обрабатывает редиректы, добавляет заголовки


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥111👍1
🤔 Какой метод используется для добавления элемента в начало списка?
Anonymous Quiz
5%
push()
5%
prepend()
22%
append()
68%
insert(0, element)
6
🤔 Какой алгоритм работы CSRF middleware?

Защищает Django-приложения от поддельных запросов. Алгоритм работы:
1. При загрузке формы сервер вставляет CSRF-токен в скрытое поле
2. При отправке запроса клиент должен отправить этот токен в заголовке
3. Django сверяет токен с тем, что хранится в сессии пользователя
4. Если токены не совпадают, запрос отклоняется


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍5
🤔 Как реализуется связь ManyToMany (M2M) на уровне базы данных?

Связь ManyToManyField в Django создает промежуточную таблицу, которая хранит связи между двумя таблицами. На уровне базы данных это:
- Таблица A (например, Course)
- Таблица B (например, Student)
- Дополнительная таблица (A_B) с двумя внешними ключами (course_id, student_id)


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4
🤔 За что отвечает Meta в сериализаторе?

Класс Meta в ModelSerializer определяет настройки сериализатора, включая:
- model – модель, с которой работает сериализатор
- fields – список полей, которые нужно включить или исключить
- exclude – поля, которые не нужно включать
- read_only_fields – поля, которые нельзя изменять


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥31
🤔 Что такое контекстный процессор?

Это функция, которая добавляет переменные в контекст всех шаблонов. Они используются, чтобы передавать глобальные переменные, например:
- Текущий пользователь (request.user)
- Настройки проекта (settings.SITE_NAME)
- Данные о текущем языке


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
🤔 Какие базовые классы предоставляет Django?

Предоставляет базовые классы для работы с моделями, представлениями и формами:
- models.Model – базовый класс для всех моделей базы данных
- forms.Form и forms.ModelForm – для работы с формами
- views.View – основа для классов представлений
- admin.ModelAdmin – управление моделями в Django Admin
- serializers.Serializer и serializers.ModelSerializer – для работы с API


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍2🤔1
🤔 Как работает Serializer в Django REST Framework?

Это класс, который конвертирует данные между JSON и объектами Django. Он выполняет:
1. Преобразование модели Django в JSON (
serializer.data)
2. Проверку и десериализацию входных данных (serializer.is_valid())
3. Сохранение объекта в базу данных (
serializer.save())

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3👀1
🤔 Как реализуются protected методы?

Методы обозначаются одним подчеркиванием перед именем (_method). Это соглашение, а не жесткое ограничение, и такие методы остаются доступными за пределами класса, но их не рекомендуется использовать напрямую.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍4👀1
🤔 Как в классах хранятся атрибуты и методы?

Хранятся в dict объекта (если не используется slots) или в dict класса. Методы при этом являются функциями, привязанными к экземпляру через механизм дескрипторов, что позволяет их вызывать в контексте конкретного объекта.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2