Все потоки
Поиск
Написать публикацию
Обновить
3.87

Django *

Фреймворк для веб-приложений на Python

Сначала показывать
Порог рейтинга
Уровень сложности

Как работают select_related и prefetch_related в Django

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров51K

Часто определение разницы между select_related и prefetch_related звучит как “первый для ForeignKey полей, второй для ManyToMany”, однако это описание не раскрывает суть работы этих методов. Ниже я попробовал на примерах показать разницу между этими методами и какое влияние они оказывают на сгенерированный SQL для получения данных.

TLDR: Статья будет в первую очередь полезна тем кто начинает свое знакомство с Django, а также тем, кто использует select_related/prefetch_related в ежедневной работе, но не углублялся в глубь Django.

Читать далее

Пишем свой Chat GPT

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров18K

По работе активно использую ChatGPT, часто бывает ситуации, когда модель позволяет найти решение, о котором даже не подозревал. В этом году он стал реальными помощником в поиске информации наравне с Google. Если в Google нужно вводить точный запрос и искать в выдаче подходящее решение, то Chat позволяет найти решение по описанию проблемы или проверить гипотезы. 

У меня давно было желание  поработать с непосредственно с самим API от Open AI и с другими LLM моделями. Решил написать свой чат с возможностью адаптировать под внутренние нужды команды в дальнейшем. Проект выложен в открытый доступ, скачать можно по ссылке. Сам проект находится в активной разработке, так что вы можете писать ваши замечания / пожелания в комментариях или отправить ваш pull request с исправлениями. Будем оперативно исправлять ошибки. 

На бэкенде был выбран Python, Django Rest Framework. На фронтенде React, Redux, Saga, Sass. Начнем с бэкенда, им занимался Егор. Далее про серверную часть проекта он пишет от себя.

Читать далее

Первый проект Django. Часть 1

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров40K

В данной статье:

Создаем первый наипростейший проект в Django за 5 минут без регистраций и смс. В первый раз у меня на это ушло несколько часов.

Создать первый проект Django

Плюсы и минусы FastAPI в 2023

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров20K

Всем привет, меня зовут Абай. Я являюсь Back-End разработчиком в 13LAB.

После прочтения интересной статьи со сравнением NodeJS и FastAPI, у меня появилось желание высказать свое личное мнение об удобстве разработки бэкенда на Python и фреймворке FastAPI.

FastAPI - является легковесным асинхронным фреймворком для Python, который используют преимущественно для разработки API-сервисов. Фреймворк довольно молодой и существует всего лишь 5 лет. До 2021 года не имел большой популярности по сравнению с Flask и Django, но на данный момент уже стал намного востребованнее, что его стали использовать в МAANG компаниях, к примеру...

Читать далее

Highload-проект с нуля за 2 месяца

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров5.5K

Как за ограниченное время из готовых компонентов создать и запустить по-настоящему нагруженный проект? Рассмотрим пример метрик, архитектуры, технических ограничений и подходов к проектированию систем на примере проекта «Экологический диктант».

Помогут нам в этом, два главных человека из компании Старботс.рф - Станислав Жуковский, руководитель проекта, и Василий Шалимов, архитектор и разработчик фич в части бэкенда. Они расскажут, как собрали сервис онлайн-тестирования за 2 месяца, вместо 8 плановых, а также про человеческий фактор, с которым они столкнулись во время работы.

Читать далее

Lock записей и шквал «пятисоток»: какие шишки мы набили на миграциях в Django и как вам этого избежать

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров6.3K

Всем привет! Меня зовут Артём. Я бэкенд-разработчик Яндекс Практикума, занимаюсь продуктовой разработкой нашей платформы. Пришёл в команду почти три года назад, когда Практикум только развивался, так что экспериментировать приходилось много.

Например, в 2021 году мы переработали систему контента, чтобы его можно было версионировать и показывать актуальные учебные материалы тогда, когда они будут готовы целиком. Это был достаточно сложный ход, который вылился в немалый даунтайм для сервиса, но в итоге всё закончилось успешно.

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

Читать далее

Что же такое Django?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров73K

17 месяцев назад я начал свою путь в бэкенд разработку Python. Но спустя время я начал сталкиваться со сложностями в обучении на своей платформе. Первые уроки давались легко, а потом начиналось что-то непонятное в буквальном смысле. Заучивание, записывание, практика одного урока - на это уходили дни. А уроков сотни.

Чтобы найти простое объяснение и понять 10 минутный урок, приходилось несколько часов серфить интернет и потеть над кодом, выявляя правильный путь исправления ошибок. Везде говорят, что в первую очередь нужно учиться искать информацию в интернет. Но сейчас, когда я изучаю Django, даже "перекурив" весь русскоязычный мануал, я не понял ничего. В каждом предложении нужно "гуглить" термины. В сотрудничестве с ИИ я попробовал дать простое объяснение, которое поймет даже первоклассник.

Я только учусь и курс Django пройден наполовину. Все это сделано для тех, у кого тоже возникли трудности.

Узнать про Django

Автоматизация деплоя Django-приложения в маленькой команде: пошаговый гайд

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров8.9K

Развёртывание ПО, или деплой (deploy) — этап в разработке, в Devops в целом, это действия, которые делают ПО готовым к использованию. Если вы умеете в грамотный деплой, масштабирование и управление конвейерами (CI/CD), то ваш софт будет конкурентоспособным.

Далеко не все компании могут позволить себе нанять целую команду DevOps инженеров, чтобы управлять развёртыванием. Но здесь важно не количество разрабов, а качество их знаний. Есть инструменты, с которыми можно эффективно деплоить и без большой команды.

Мы в digital-агентстве успешно используем GitLab CI и Docker для развёртывания ПО в разных средах. Для чего нужны эти инструменты?

GitLab CI позволяет автоматизировать процессы сборки и доставки ПО. Docker — упаковать приложение и его зависимости в контейнеры, что упрощает развёртывание и масштабирование в разных средах. Используя их, вы сократите затраты на найм и оптимизируете деплой.

В этой статье расскажу о нашем опыте и покажу примеры настройки конвейеров CI/CD, как ими управлять с помощью GitLab CI и Docker. А также дам рекомендации, как масштабировать развертывание.

Читать далее

Создаем блог на Django с опросами и тестами. Краткая инструкция. Часть 2

Время на прочтение6 мин
Количество просмотров12K

В предыдущей части мы частично разобрали шаблон для нашего блога, выбрали виртуальную машину и запустили на ней нативный веб-сервер Django. Однако он предназначен только для тестирования и запуска приложений во время разработки. Для обработки запросов в продакшене нужно настроить Nginx и WSGI Gunicorn. В этой статье показываем, как это сделать.
Читать дальше →

Особенности асинхронности в Python

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров19K

Привет, Хабр! Меня зовут Николай Нагорный, я работаю в Росбанке над платформой Advisors’ Axiom. В этом посте я подробно расскажу о важной фиче, которая появилась в Python 3.5 — асинхронности. Затрону основные концепции и инструменты, приведу примеры кода. Пост будет полезен новичкам для понимания основ асинхронности и, может, даже опытным разработчикам в поиске новых идей и подходов.

Читать далее

Проектирование ML-сервиса для прогнозирования котировок акций (для Advisors’ Axiom от Росбанка)

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.5K

Привет, меня зовут Илья Померанцев, я руководитель ML-направления в Globus IT. Расскажу, как мы разработали нейросеть для оценки тональности новостей для инвестиционной платформы Advisors’ Axiom от Росбанка.

О проекте

Инвестиционная платформа Advisors’ Axiom — это площадка для совместной работы инвесторов сегмента Premium и VIP, инвестиционных консультантов и финансовых экспертов, разработанная ПАО «Росбанк».

Для проекта была разработана нейросеть для прогнозирования котировок акций в зависимости от тональности финансовых новостей. Полученная информация поможет клиентам, инвестиционным консультантам и финансовым экспертам более эффективно инвестировать денежные средства в ценные бумаги компаний. Вот о ее разработке мы и расскажем подробнее.

Задача

Задача сервиса — получение, оценка (классификация) финансово-экономических новостей на основе машинного обучения модели нейронной сети для классификации текстов финансово-экономической направленности по трем видам тональностей.

Читать далее

Создаем блог на Django с опросами и тестами. Краткая инструкция. Часть 1

Время на прочтение7 мин
Количество просмотров22K

Самый действенный способ изучить фреймворк — написать пет-проект. Например, свою социальную платформу на Django. Во время реализации можно попрактиковаться в работе с формами, представлениями, сигналами и SMTP.

В Proglib собрали небольшой шаблон, на базе которого можно создать свой блог на Django, а после — задеплоить на виртуальный сервер. Материал будет полезен новичкам, которые знакомы с базовыми концепциями фреймворка и хотят закрепить знания. Подробности под катом!
Читать дальше →

Telegram Django Bot за пару строк

Время на прочтение7 мин
Количество просмотров33K

На Хабре много статей про разработку Телеграм ботов на Python, в том числе при помощи Django. Однако, большинство из них направлено на первичное ознакомление с API Телеграм.

В этой статье я хочу рассказать как можно упростить разработку ботов, сократив количество кода в разы, и не создавать велосипед.

Читать далее

Ближайшие события

Автоматическая документация API Django Rest Framework с помощью DRF Spectacular

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров23K

Целью этой статьи является демонстрация возможностей drf-spectacular для документирования API и основного набора техник, которые покроют большую часть сценариев использования. Мы настроим генерацию документации и рассмотрим все основные способы гибкой настройки отображения.

Читать далее

PyCharm Docker Django Debug

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров12K

Эта статья посвящена настройке IDE для возможности запуска и отладки Django сервера. Статья нацелена на людей которые столкнулись с подобной проблемой и хотелось бы поделиться опытом, так как сам прошёл эти этапы.

Читать далее

Python Дайджест: как ускорить Django проект до (почти) максимума

Время на прочтение7 мин
Количество просмотров7.6K

Завершение цикла статей про техническое оживление Python Дайджест. В первых трех частях рассказано как был совершен переход с Python 3.4 на Python 3.11 и Django 4, отформатирована вся кодовая база с pre-commit, настроена автоматизация задач на основе Github Actions. В заключительной части расскажу как получить "быстрый" сайт.


Читать дальше →

Что произошло в мире Python за последний месяц

Время на прочтение4 мин
Количество просмотров5.9K

Привет! Раз в месяц мы в Moscow Python Podcast собираемся и обсуждаем новые релизы, PEP, заинтересовавшие нас инструменты и статьи. В апреле поговорили об исследовании экосистемы Django от JetBrains, LTS-релизе Django 4.2, релизе Pandas 2.0 и свежих PEP. Под катом — текстовая выжимка из обсуждения.

Читать далее

Простая очередь задач в Django, подключение Kandinsky 2.1

Время на прочтение8 мин
Количество просмотров4.3K

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

Читать далее

403, 404 или 405. Разбираемся со статусами во ViewSet’ах DRF

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4.1K

Идея делать нормальный REST на Django – утопия, но некоторые моменты настолько логичные и нет одновременно, что об этом хочется писать. Ниже история про то, как мы сделали ViewSet от GenericViewSet и пары миксинов в DRF, покрыли это все тестами и получили местами странные, но абсолютно обоснованные коды ответов.

Текст может быть полезен новичкам (или чуть более прошаренным) в Django, дабы уложить в голове формирование url’ов и порядок вызова методов permission-классов. Ну а бывалые скажут, что все это баловство и надо было использовать GenericApiView.

Читать далее

Связь Django и PostgreSQL внутри Docker

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров36K

Приветствую всех!

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

Я работаю на windows, поэтому если у вас другая операционная система, то команды могут отличаться.

Читать далее

Вклад авторов