Если есть желание помочь и прокачаться, то welcome.
Требования:
- DRF
- JWT
- Git
- Docker
Остальному научим😎
Пишите в комментариях, я с вами свяжусь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
ADRF - асинхронная поддержка для Django REST framework.
Python 3.8+
Django 4.1+
GitHub
🔥Провожу индивидуальные занятия по python и веб разработке (django, fastapi, flask, javascript и т.д.).
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
Пишите - https://t.me/DJWOMS
#django #drf #djangorestframework
Python 3.8+
Django 4.1+
GitHub
🔥Провожу индивидуальные занятия по python и веб разработке (django, fastapi, flask, javascript и т.д.).
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
Пишите - https://t.me/DJWOMS
#django #drf #djangorestframework
👍14🔥3
Django и полнотекстовый поиск
Функции базы данных в модуле
search
Обычным способом использования полнотекстового поиска является поиск одного термина по одному столбцу в базе данных.
Например:
Чтобы использовать
SearchVector
Экземпляры
Чтобы выполнить запрос по обоим полям, используйте
Объекты
🔥Провожу индивидуальные занятия по python и веб разработке (django, fastapi, flask, javascript и т.д.).
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
Пишите - https://t.me/DJWOMS
#django #orm
Функции базы данных в модуле
django.contrib.postgres.search облегчают использование модуля PostgreSQL full text search engine.search
Обычным способом использования полнотекстового поиска является поиск одного термина по одному столбцу в базе данных.
Например:
Entry.objects.filter(body_text__search='Cheese')
[<Entry: Cheese on Toast recipes>, <Entry: Pizza Recipes>]
Будет создан to_tsvector в базе данных из поля body_text и plainto_tsquery из поискового термина 'Cheese', оба используют конфигурацию поиска в базе данных по умолчанию. Результаты получаются путем сопоставления запроса и вектора.Чтобы использовать
search, 'django.contrib.postgres' должен быть указан в вашем INSTALLED_APPS.SearchVector
class SearchVector(*expressions, config=None, weight=None)
Поиск по одному полю является отличным, но довольно ограниченным. Экземпляры
Entry, которые мы ищем, принадлежат Blog, который имеет поле tagline. Чтобы выполнить запрос по обоим полям, используйте
SearchVector:from django.contrib.postgres.search import SearchVector
Entry.objects.annotate(
search=SearchVector('body_text',
'blog__tagline')
).filter(search='Cheese')
[<Entry: Cheese on Toast recipes>, <Entry: Pizza Recipes>]
Аргументами SearchVector могут быть любые Expression или имя поля. Несколько аргументов будут объединены вместе с помощью пробела, чтобы поисковый документ включал их все.Объекты
SearchVector можно объединять вместе, что позволяет использовать их повторно. Например:
Entry.objects.annotate(
search=SearchVector('body_text') +
SearchVector('blog__tagline')
).filter(search='Cheese')
[<Entry: Cheese on Toast recipes>, <Entry: Pizza Recipes>]
🔥Провожу индивидуальные занятия по python и веб разработке (django, fastapi, flask, javascript и т.д.).
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
Пишите - https://t.me/DJWOMS
#django #orm
🔥12👍3❤1
Starlette-Admin — это быстрый, красивый и расширяемый фреймворк административного интерфейса для приложений Starlette/FastApi.
Демонстрация
Функции:
📍CRUD любых данных
📍Автоматическая проверка форм
📍Поиск и фильтрация
📍Подсветка поиска
📍Экспорт данных в CSV/EXCEL/PDF
📍Аутентификация
📍Авторизация
📍Управление файлами
📍Поддерживаемые ORM
👉 SQLAlchemy
👉 SQLModel
👉 MongoEngine
👉 ODMantic
📍И другое
GitHub
🔥Провожу индивидуальные занятия по python и веб разработке (django, drf, fastapi, flask, javascript и т.д.).
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
Пишите - https://t.me/DJWOMS
#fastapi #starlette #admin
Демонстрация
Функции:
📍CRUD любых данных
📍Автоматическая проверка форм
📍Поиск и фильтрация
📍Подсветка поиска
📍Экспорт данных в CSV/EXCEL/PDF
📍Аутентификация
📍Авторизация
📍Управление файлами
📍Поддерживаемые ORM
👉 SQLAlchemy
👉 SQLModel
👉 MongoEngine
👉 ODMantic
📍И другое
GitHub
🔥Провожу индивидуальные занятия по python и веб разработке (django, drf, fastapi, flask, javascript и т.д.).
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
Пишите - https://t.me/DJWOMS
#fastapi #starlette #admin
👍12
Django и полнотекстовый поиск #2
SearchQuery
SearchQuery переводит предоставленные пользователем термины в объект поискового запроса, который база данных сравнивает с поисковым вектором. По умолчанию все слова, предоставленные пользователем, пропускаются через алгоритмы стемминга, а затем ищутся совпадения для всех полученных терминов.
Если
Если
Если
Если
Для работы
Примеры:
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
Пишите - https://t.me/DJWOMS
#django #orm #searchquery
SearchQuery
SearchQuery переводит предоставленные пользователем термины в объект поискового запроса, который база данных сравнивает с поисковым вектором. По умолчанию все слова, предоставленные пользователем, пропускаются через алгоритмы стемминга, а затем ищутся совпадения для всех полученных терминов.
Если
search_type равно 'plain', что является значением по умолчанию, термины рассматриваются как отдельные ключевые слова. Если
search_type равно 'phrase', то термины рассматриваются как одна фраза.Если
search_type - это 'raw', то вы можете предоставить форматированный поисковый запрос с терминами и операторами. Если
search_type равно 'websearch', то вы можете предоставить форматированный поисковый запрос, подобный тому, который используется поисковыми системами.Для работы
'websearch' требуется PostgreSQL ≥ 11. Прочитайте статью Full Text Search docs в PostgreSQL, чтобы узнать о различиях и синтаксисе. Примеры:
>>> from django.contrib.postgres.search import SearchQuerySearchQuery термины могут быть объединены логически для обеспечения большей гибкости:
>>> SearchQuery('red tomato') # two keywords
>>> SearchQuery('tomato red') # same results as above
>>> SearchQuery('red tomato', search_type='phrase') # a phrase
>>> SearchQuery('tomato red', search_type='phrase') # a different phrase
>>> SearchQuery("'tomato' & ('red' | 'green')", search_type='raw') # boolean operators
>>> SearchQuery("'tomato' ('red' OR 'green')", search_type='websearch') # websearch operators
>>> from django.contrib.postgres.search import SearchQuery
>>> SearchQuery('meat') & SearchQuery('cheese') # AND
>>> SearchQuery('meat') | SearchQuery('cheese') # OR
>>> ~SearchQuery('meat') # NOT
🔥Провожу индивидуальные занятия по python и веб разработке (django, fastapi, flask, javascript и т.д.). Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
Пишите - https://t.me/DJWOMS
#django #orm #searchquery
👍11🔥2
Классы и декораторы для использования FastAPI с маршрутизацией на основе классов.
При создании более сложных приложений FastAPI вы можете часто повторять одни и те же зависимости в нескольких связанных маршрутах.
fastapi_class предоставляет class-based view декоратор
Исходный код
🔥Провожу индивидуальные занятия по python и веб разработке (django, fastapi, flask, javascript и т.д.).
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
Пишите - https://t.me/DJWOMS
#fastapi #fastapi_class
При создании более сложных приложений FastAPI вы можете часто повторять одни и те же зависимости в нескольких связанных маршрутах.
fastapi_class предоставляет class-based view декоратор
@View, помогающий решить эту проблему.Исходный код
🔥Провожу индивидуальные занятия по python и веб разработке (django, fastapi, flask, javascript и т.д.).
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
Пишите - https://t.me/DJWOMS
#fastapi #fastapi_class
👍7
Всем привет 👋
Вы наверняка слышали о проекте GSpot. Так вот, в данный проект требуются еще разработчики.
Наши тестировщики находят баги, а лиды требуют рефакторинг и новый функционал. Нужны те, кто хочет себя показать или прокачать.
Также стартует новый проект JunovNet.
В который можно попасть после 1-ой - 2-х недель участия в GSpot. Требуется желание и время для выполнения поставленных задач😎
Команда состоит из back и front разработчиков, тестировщиков, devops и дизайнера.
Максимально краткое описание проекта JunovNet.
Проект представляет собой веб-приложение для ментора и менти, которое позволяет управлять списком студентов, расписанием занятий, домашними заданиями и дополнительными материалами.
Приложение также интегрируется с Google Календарем для удобства управления расписанием.
Интеграция с Telegram.
Телеграм бот для уведомлений и управления аккаунтом.
Поиск open source проекта в котором можно принять участие.
Создание команды и поиска участников для развития проекта.
Интеграция с GitHub.
Но это не всё, ТЗ написано на 27 страниц и это не конец👀
Проект большой с большим количеством функционала. Хватит на всех и надолго.
В JunovNet можно себя проявить и прокачать:
📍В реализации архитектуры.
📍В выборе инструментов.
📍В реализация сервисов.
📍В решение сложных задач.
📍В понимании и применении паттернов.
📍В код ревью.
📍В написании тестов.
📍В командной работе (можно даже стать лидом).
📍В ораторском искусстве.
Бэкендерам
Нужно знать для GSpot:
📍DRF
📍PostgreSQL
📍Docker
📍Git
Для JunovNet нужно быть знакомым с:
📍FastAPI
📍PostgreSQL
📍Docker
📍Git
Будет плюсом или мы научим😎
📍Redis
📍RabbitMQ
📍Masonite
📍Masonite ORM
📍SQLAlchemy
📍python dependency injector
Фронтенд
Нужно знать для GSpot:
📍Next.js
📍Tailwind css
📍TypeScript
📍Git
Для JunovNet нужно быть знакомым с:
📍React
📍Tailwind css
📍TypeScript
📍Git
Будет плюсом или мы научим🧐
📍Flowbite
📍И многому другому😎
Отвечаем на вопросы, помогаем и подсказываем.
Поможем с резюме и подготовкой к собеседованию.
Вы наверняка слышали о проекте GSpot. Так вот, в данный проект требуются еще разработчики.
Наши тестировщики находят баги, а лиды требуют рефакторинг и новый функционал. Нужны те, кто хочет себя показать или прокачать.
Также стартует новый проект JunovNet.
В который можно попасть после 1-ой - 2-х недель участия в GSpot. Требуется желание и время для выполнения поставленных задач😎
Команда состоит из back и front разработчиков, тестировщиков, devops и дизайнера.
Максимально краткое описание проекта JunovNet.
Проект представляет собой веб-приложение для ментора и менти, которое позволяет управлять списком студентов, расписанием занятий, домашними заданиями и дополнительными материалами.
Приложение также интегрируется с Google Календарем для удобства управления расписанием.
Интеграция с Telegram.
Телеграм бот для уведомлений и управления аккаунтом.
Поиск open source проекта в котором можно принять участие.
Создание команды и поиска участников для развития проекта.
Интеграция с GitHub.
Но это не всё, ТЗ написано на 27 страниц и это не конец
Проект большой с большим количеством функционала. Хватит на всех и надолго.
В JunovNet можно себя проявить и прокачать:
📍В реализации архитектуры.
📍В выборе инструментов.
📍В реализация сервисов.
📍В решение сложных задач.
📍В понимании и применении паттернов.
📍В код ревью.
📍В написании тестов.
📍В командной работе (можно даже стать лидом).
📍В ораторском искусстве.
Бэкендерам
Нужно знать для GSpot:
📍DRF
📍PostgreSQL
📍Docker
📍Git
Для JunovNet нужно быть знакомым с:
📍FastAPI
📍PostgreSQL
📍Docker
📍Git
Будет плюсом или мы научим😎
📍Redis
📍RabbitMQ
📍Masonite
📍Masonite ORM
📍SQLAlchemy
📍python dependency injector
Фронтенд
Нужно знать для GSpot:
📍Next.js
📍Tailwind css
📍TypeScript
📍Git
Для JunovNet нужно быть знакомым с:
📍React
📍Tailwind css
📍TypeScript
📍Git
Будет плюсом или мы научим
📍Flowbite
📍И многому другому
Отвечаем на вопросы, помогаем и подсказываем.
Поможем с резюме и подготовкой к собеседованию.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍3
Продолжение к посту выше👆
Общекомандные миты проходят каждую пятницу в 18 по мск.
Миты команд проходят по согласованию участников.
Принимать участие в записи видео роликов.
Нужно иметь аккаунты в GitHub, GitLab и Trello.
Если есть желание принять участие, пишите в комментариях.
Пример составления комментария (заявки):
👉 Как зовут.
👉 Пару слов о себе.
👉 Опыт.
👉 Сколько времени готов уделять проекту (в день или неделю)
👉 Какими инструментами владею.
👉 Чему хочу научиться.
👉 Посещать миты могу.
👉 Аккаунты есть или создам.
Общекомандные миты проходят каждую пятницу в 18 по мск.
Миты команд проходят по согласованию участников.
Принимать участие в записи видео роликов.
Нужно иметь аккаунты в GitHub, GitLab и Trello.
Если есть желание принять участие, пишите в комментариях.
Пример составления комментария (заявки):
👉 Как зовут.
👉 Пару слов о себе.
👉 Опыт.
👉 Сколько времени готов уделять проекту (в день или неделю)
👉 Какими инструментами владею.
👉 Чему хочу научиться.
👉 Посещать миты могу.
👉 Аккаунты есть или создам.
python-dependency-injector - инструмент для управления и внедрения зависимостей (DI) в приложениях Python.
Предоставляет мощный и гибкий механизм для объявления и внедрения зависимостей, позволяя упростить создание и управление объектами, которые требуют внешних ресурсов или других зависимостей.
Основные особенности python-dependency-injector:
📍Контейнер: библиотека предоставляет механизм контейнера зависимостей, который позволяет объявлять, регистрировать зависимости и предоставлять их при запросе.
📍Инъекция: python-dependency-injector обеспечивает механизм внедрения зависимостей, который автоматически передает все необходимые зависимости в объекты при их создании.
📍Жизненный цикл: поддерживает управление жизненным циклом зависимостей, позволяя контролировать создание, инициализацию и уничтожение объектов.
📍Разделение на уровни: python-dependency-injector позволяет разделять зависимости на уровни, чтобы обеспечить четкое разделение ответственностей и улучшить модульность приложения.
📍Типы зависимостей: библиотека поддерживает различные типы зависимостей, включая классы, инстансы классов, фабричные функции.
📍Поддержка фреймворков: python-dependency-injector может интегрироваться с фреймворками, такими как Flask, Django, FastAPI и другие, для обеспечения прозрачной инъекции зависимостей в коде приложения.
📍Асинхронность: поддерживает асинхронное внедрение зависимостей (Asynchronous injections).
📍Типизация: предоставляет типы, дружественные mypy.
📍Производительность. Быстрота. Написано на Cython.
📍Зрелость. Можно использовать в продакшене. Хорошо протестирован, документирован и поддерживается.
Исходный код
🔥Провожу индивидуальные занятия по python и веб разработке (django, fastapi, flask, javascript и т.д.).
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
Пишите - https://t.me/DJWOMS
#pythondependencyinjector #di #flask #django #fastapi
Предоставляет мощный и гибкий механизм для объявления и внедрения зависимостей, позволяя упростить создание и управление объектами, которые требуют внешних ресурсов или других зависимостей.
Основные особенности python-dependency-injector:
📍Контейнер: библиотека предоставляет механизм контейнера зависимостей, который позволяет объявлять, регистрировать зависимости и предоставлять их при запросе.
📍Инъекция: python-dependency-injector обеспечивает механизм внедрения зависимостей, который автоматически передает все необходимые зависимости в объекты при их создании.
📍Жизненный цикл: поддерживает управление жизненным циклом зависимостей, позволяя контролировать создание, инициализацию и уничтожение объектов.
📍Разделение на уровни: python-dependency-injector позволяет разделять зависимости на уровни, чтобы обеспечить четкое разделение ответственностей и улучшить модульность приложения.
📍Типы зависимостей: библиотека поддерживает различные типы зависимостей, включая классы, инстансы классов, фабричные функции.
📍Поддержка фреймворков: python-dependency-injector может интегрироваться с фреймворками, такими как Flask, Django, FastAPI и другие, для обеспечения прозрачной инъекции зависимостей в коде приложения.
📍Асинхронность: поддерживает асинхронное внедрение зависимостей (Asynchronous injections).
📍Типизация: предоставляет типы, дружественные mypy.
📍Производительность. Быстрота. Написано на Cython.
📍Зрелость. Можно использовать в продакшене. Хорошо протестирован, документирован и поддерживается.
Исходный код
🔥Провожу индивидуальные занятия по python и веб разработке (django, fastapi, flask, javascript и т.д.).
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
Пишите - https://t.me/DJWOMS
#pythondependencyinjector #di #flask #django #fastapi
🔥10👍1
Django и полнотекстовый поиск #3
SearchRank
Вполне вероятно, что вы захотите упорядочить результаты по какому-то признаку релевантности. PostgreSQL предоставляет функцию ранжирования, которая учитывает, как часто термины запроса появляются в документе, как близко друг к другу они расположены в документе и насколько важна часть документа, в которой они встречаются. Чем лучше совпадение, тем выше значение ранга.
Для упорядочивания по релевантности:
Введите целое число в параметр
🔥Провожу индивидуальные занятия по python и веб разработке (django, fastapi, flask, javascript и т.д.).
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
Пишите - https://t.me/DJWOMS
#django #orm #searchrank
SearchRank
Вполне вероятно, что вы захотите упорядочить результаты по какому-то признаку релевантности. PostgreSQL предоставляет функцию ранжирования, которая учитывает, как часто термины запроса появляются в документе, как близко друг к другу они расположены в документе и насколько важна часть документа, в которой они встречаются. Чем лучше совпадение, тем выше значение ранга.
Для упорядочивания по релевантности:
from django.contrib.postgres.search import SearchQuery, SearchRank, SearchVectorУстановите параметр
vector = SearchVector('body_text')
query = SearchQuery('cheese')
Entry.objects.annotate(rank=SearchRank(vector, query)).order_by('-rank')
[<Entry: Cheese on Toast recipes>, <Entry: Pizza recipes>]
cover_density в значение True, чтобы включить ранжирование по плотности покрытия, что означает, что учитывается близость совпадения терминов запроса.Введите целое число в параметр
normalization для управления нормализацией ранга. Это целое число является битовой маской, поэтому вы можете комбинировать несколько вариантов поведения:from django.db.models import ValueВ документации PostgreSQL есть более подробная информация о different rank normalization options.
Entry.objects.annotate(
... rank=SearchRank(
... vector,
... query,
... normalization=Value(2).bitor(Value(4)),
... )
... )
🔥Провожу индивидуальные занятия по python и веб разработке (django, fastapi, flask, javascript и т.д.).
Обучаю с нуля, а так же провожу консультации для мидлов и синьоров.
Пишите - https://t.me/DJWOMS
#django #orm #searchrank
🔥13🥰1