Как стать автором
Поиск
Написать публикацию
Обновить
11.27

Django *

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Узнать про Django

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

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

Развёртывание ПО, или деплой (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, поэтому если у вас другая операционная система, то команды могут отличаться.

Читать далее

Релиз Django LTS 4.2: обзор изменений и необходимости обновления

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

В апреле 2023 года вышла новая LTS-версия Django Web Framework, одного из самых популярных фреймворков для веб-разработки на Python.

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

А стоит ли сейчас вообще начинать новый проект на Django или изучать этот фреймворк? В этой статье я, Евгений Бартенев, техлид и автор курса «Python-разработчик», помогу разобраться с этими и другими вопросами. Мы поговорим о разных типах релизов Django, посмотрим на главные изменения в новом и затронем основные аспекты, которые следует учитывать при обновлении версии Django в проекте.

Читать далее

Интеграция и кастомизация OpenAPI в Django/Django Rest Framework

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

Рассмотрим способы интеграции OpenAPI схемы в экосистему Django/DRF с помощью библиотеки drf-spectacular, а также некоторые проблемы, возникающие при кастомизации API и, соответственно, их решения.

Читать далее

CI/CD GitHub Actions

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

CI/CD с использованием GitHub Actions (приложение Django)

1. Настройка непрерывной интеграции с помощью GitHub Actions: На GitHub перейдите на главную страницу репозитория.

2. Под именем вашего репозитория щелкните Actions:

Читать далее

Django DRF Sign-in with Apple

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

Привет, уважаемый читатель!

Пришла пора внедрить систему аутентификации от Apple в проект на Django DRF, ведь система входа от Google была реализована давно и по идее проблем не должно было возникнуть, но как сказал один известный гном: "Я ещё никогда так не ошибался..." А теперь по порядку.

Читать далее

Django REST. Реализация функционала добавления в «избранное» с возможностью расширения типов добавляемого контента

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

Допустим у нас есть зарегистрированные пользователи и какая-то модель, например "Компании", которую пользователь может добавлять в избранное. Обычно такая задача решается путем создания третьей таблицы Favorite, являющейся связующим звеном, для реализации ManyToManyField связи между пользователем и компанией

Читать далее

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