#django
Ответы
На каждый запрос система генерирует уникальный токен и выставляет его в куках. В каждой форме размещается скрытое поле csrf-token с этим же токеном. При отправке формы методом POST Джанго проверяет, что поле формы и значение в куках совпадают. Если нет, это значит, что запрос подделан или отправлен с другого домена.
Чтобы освободить какую-то вьюху от проверки (если это API, например), достаточно обернуть ее декоратором csrf_except.
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍8❤1
Ответ
#django
Сигналы – это события в экосистеме Джанго. С помощью сигналов подсистемы оповещают приложение о том, что случилось. Чтобы читать сигналы, программист регистрирет обработчики сигналов. Сигналы распространяются синхронно. Это значит, подписав на один сигнал сотню обработчиков, мы увеличим время, необходимое на отдачу ответа.
Основные сигналы это начало запроса и его окончание, перед сохранением модели и после, обращение к базе данных.
Важно: сигналы моделей работают поштучно, то есть для одной модели. При пакетной обработке, например,
queryset.all().delete()
или queryset.all().update({'foo'=42}),
события об удалении или изменения не будут вызваны.@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Простой, но мощный трюк: генерация функций на лету через замыкания. Вместо дублирования логики можно одной фабрикой создавать десятки разных функций.
Хочешь больше таких фишек? Подписывайся на нас и каждый день получай свежие и нестандартные советы, которые реально прокачают твои навыки разработчика!
def make_pow(exp):
return lambda x: x ** exp
square = make_pow(2)
cube = make_pow(3)
print(square(4), cube(2))
#Python, #программирование, #кодинг, #разработка, #собеседование, #интервью, #PythonJobs, #DataScience, #MachineLearning, #AI, #backend, #webdev, #Django, #Flask, #FastAPI, #API, #REST, #asyncio, #многопоточность, #многозадачность, #библиотеки, #NumPy, #Pandas, #TensorFlow, #PyTorch, #SQL, #ORM, #SQLAlchemy, #тестирование, #unittest, #pytest, #TDD, #алгоритмы, #структурыданных, #OOP,
Please open Telegram to view this post
VIEW IN TELEGRAM