#django
Ответы
На каждый запрос система генерирует уникальный токен и выставляет его в куках. В каждой форме размещается скрытое поле csrf-token с этим же токеном. При отправке формы методом POST Джанго проверяет, что поле формы и значение в куках совпадают. Если нет, это значит, что запрос подделан или отправлен с другого домена.
Чтобы освободить какую-то вьюху от проверки (если это API, например), достаточно обернуть ее декоратором csrf_except.
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
Ответ
#django
Сигналы – это события в экосистеме Джанго. С помощью сигналов подсистемы оповещают приложение о том, что случилось. Чтобы читать сигналы, программист регистрирет обработчики сигналов. Сигналы распространяются синхронно. Это значит, подписав на один сигнал сотню обработчиков, мы увеличим время, необходимое на отдачу ответа.
Основные сигналы это начало запроса и его окончание, перед сохранением модели и после, обращение к базе данных.
Важно: сигналы моделей работают поштучно, то есть для одной модели. При пакетной обработке, например,
queryset.all().delete()
или queryset.all().update({'foo'=42}),
события об удалении или изменения не будут вызваны.@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM