Михаил Омельченко | AI&IT
5.28K subscribers
976 photos
192 videos
4 files
713 links
ИИ в работе, разработка, веб. Агенты, автоматизация, инструменты. Веду я, Михаил Омельченко, внешний технический директор по ИИ и ментор.

Менторство, реклама и сотрудничество: djwoms.ru
Telegram - @DJWOMS
YouTube - https://www.youtube.com/c/DjangoSchool
Download Telegram
Channel name was changed to «Django School | Михаил Омельченко»
YouTube, Дзен, VK, RuTube - это все сомнительно, но ок.

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

Как вы считаете?
👍82👎4🔥4💯43
Wireup — это производительный, лаконичный и простой в использовании контейнер внедрения зависимостей для Python 3.8+ (по словам разработчика)

Основные характеристики
- Внедрение сервисов и конфигураций.
- Поддержка интерфейсов и абстрактных классов.
- Паттерн фабрика.
- Одиночные и временные зависимости.
- Независимый от фреймворка.
- Упрощенная интеграция с Django , Flask и FastAPI

Кто-то использовал эту штуку?
Интересует связка с Django.

Тык на GitHub

#djangoschool #django #di #dependencyinjection
🤔5👍1
То, о чем я говорил неоднократно.
Django ставит палки в колеса.

Поскольку Django настолько тесно связан с базой данных, вам придется использовать вспомогательные методы pytest-django и тщательно продумывать тестовые базы данных, начиная с самой первой строки кода, чего нам не приходилось делать, когда мы начинали с нашей чистой доменной модели.

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

В этот момент Django начинает больше мешать, чем помогать. Такие вещи, как админка Django, которые так хороши на начальном этапе, становятся активно опасными, если весь смысл вашего приложения заключается в создании сложного набора правил и моделирования вокруг рабочего процесса изменений состояния. Админка Django обходит все это.


https://www.cosmicpython.com/book/appendix_django.html#_why_was_this_all_so_hard

#djangoschool #django #книги #статьи
Хорошая статья, о том как правильно писать проекты на Django.
Те паттерны и подходы о которых я говорю на стримах, и пытаюсь показать на примере.

https://habr.com/ru/companies/samolet/articles/794740/

#djangoschool #django #статьи
8👍1
🧐 Может на стриме сделать разбор подходов к написанию проектов на Django?
Как, когда и что использовать. Можно даже для примера пару статей разобрать.

Один из советов, который мы слышали, — это помещать файл logic.py (я бы его назвал service - прим. Михаила) в каждое приложение Django с самого первого дня. Это дает вам место для размещения бизнес-логики и позволяет держать формы, представления и модели свободными от бизнес-логики. Это может стать ступенькой для перехода к полностью разъединенной модели домена и/или сервисному слою в дальнейшем.

Слой бизнес-логики может изначально работать с объектами модели Django (я бы так не делал и сразу отделял, потом нет времени, уже сложно и т.д. - прим. Михаила) и только позже полностью отделиться от фреймворка и работать с простыми структурами данных Python.

Что касается чтения, вы можете воспользоваться некоторыми преимуществами CQRS, поместив операции чтения в одно место, избежав разбросанных по всему пространству вызовов ORM.

При разделении модулей для чтения и модулей для доменной логики, возможно, стоит отделить себя от иерархии приложений Django. Бизнес-задачи будут пересекать их.


Источник

#djangoschool #django #книги #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35🔥93
Сегодня стрима не будет.
Нужно немного отдохнуть.🥽
🤬4👍1
Вышло новое обновление Esmerald 3.3.7 с парой моих небольших PR

Добавлено
Флаг --context команды createapp, позволяет создавать каркасы приложений, содержащие более сложные структуры.

Изменено
Шаблонизация jinja2 теперь на 100% делегирована Lilya.

Добавлены примеры в документацию для пользователей Windows.

В документации был пример:
ESMERALD_SETTINGS_MODULE='myapp.settings.Development' python -m src.app.py


Теперь есть команда и для PowerShell
$env:ESMERALD_SETTINGS_MODULE="myapp.settings.Development"; python -m src.app.py

Это позволит запускать Esmerald в Window без Docker. Избавит от ошибки запуска и позволяет указать свои настроеки проекта.

Github

#djangoschool #esmerald
👍10🔥6👎1
Начну выкладывать свои старые и новые видео.

Чуть позже сделаю пост с хештегами для навигации по каналу и ссылками на соц. сети.
👍15