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

Django *

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

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

Как мы оптимизировали i-запросы, а нашли неточности в документации Django

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

В современных веб-приложениях большинство запросов к базе данных пишется не на сыром SQL, а с использованием объектно-реляционного отображения (ORM). Оно автоматически генерирует SQL-запросы по привычному объектно-ориентированному коду. Однако эти запросы не всегда оптимальны,  и с  ростом нагрузки на веб-приложение встает вопрос их оптимизации. Как раз в ходе такой оптимизации наша команда обнаружила, что документация Django с нами не совсем честна.

Читать далее

Django-sockpuppet, интересная альтернатива React, Vue, Angular или очередная заброшенная джанговская «батарейка»?

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

Всем доброго времени суток!

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

Сейчас хайп вокруг современных javascript SPA фронтенд фреймворков особенно горяч, и во многом эта популярность вполне заслужена, эти технологии позволяют успешно выполнять практически любую задачу. Скорость SPA приложения может быть сравнима с десктоп приложениями, это достигается за счет перенаправления большей части ответственности с сервера на клиента. К сожалению, этот новый подход порождает все более сложные технологии, а работа разработчика, которая когда то была увлекательна и продуктивна стала значительно сложнее и монотоннее. Возможны ли альтернативы современным SPA фреймворкам? Возможно ли создавать полноценные reactive user interfaces быстро, просто и только на джанго? Далее хочу обратить Ваше внимание на интересный проект который может дать ответы на эти вопросы.

Читать далее

Наш опыт создания «Интенсива», или почему избежать ошибок не удастся

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

Всем привет! Меня зовут Дмитрий Чернышов, я руководитель группы разработки системы «БАРС.Бюджет-Бухгалтерия». Сегодня я поделюсь своим опытом создания обучающего курса для разработчиков.

Читать далее

Окей, Джанго, у меня к тебе несколько вопросов

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

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

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

Читать далее

Django Rest Framework для начинающих: создаём API для записи и обновления данных (часть 2)

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

Продолжаем цикл статей, посвящённый основам Django Rest Framework. В предыдущей статье мы подробно рассмотрели, как сериалайзер валидирует входные данные.


В этой статье мы закрепим теорию на простом примере, а также затронем те вопросы, которые не успели рассмотреть раньше:


  • какое поле сериалайзера выбрать для ForeignKey-поля модели;
  • как сериалайзер работает с датами;
  • как устроен метод save сериалайзера.

А ещё мы напишем контроллер, который будет обрабатывать запросы к API на создание записи в БД.


image

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

Регулярные выражение Python в интерактивном режиме

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

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

Поддерживаемые регулярные функции:

Читать далее

Python — серьезный язык для разработки backend

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

Всем привет! Меня зовут Аникин Денис, я тимлид в команде Chat в Райффайзенбанке. А также представитель внутреннего Python-сообщества, так называемый «community lead» (об этом как-нибудь в другой раз). В этой статье я хотел поговорить про отношение к Python среди разработчиков и обсудить все основные претензии, которые очень давно следуют за языком по пятам.

Читать далее

Как стать web-разработчиком на Python за полгода: конкретный план действий

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

Всем привет! Меня зовут Евгений Степанов, и я Python Full Stack-Developer в компании PVS-Studio. В этой статье вы узнаете, что нужно сделать, чтобы за полгода стать Python backend-разработчиком. После прочтения данной публикации у вас будет чёткий план, который останется только реализовать. Поехали!

Читать далее

Wagtail — лучшая CMS на python в нашей галактике

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

Очень абстрактное описание, что такое Wagtail CMS и почему с ней стоит познакомиться разработчикам на Django. Вкратце, Wagtail позволяет в кратчайшие сроки сделать сложные проекты, CMS активно развивается, ее поддерживают настоящие профи.

Читать далее

Веб приложение для анализа и визуализации результатов выборов в Государственную Думу в 2021

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

В результате выборов, которые завершились 19 сентября был сформирован большой массив данных, которые могут рассказать исследователям интресные истории. В статье представлен проект и прототип веб приложения для анализа и визуализации данных выборов в Государственную Думу 2021. В проекте используется фреймворк Django и набор библиотек : Pandas, Matplotlib. 

Читать далее

Тестируем собственную батарейку для Django с pytest и tox

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

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

Читать далее

Python service layer: основы оформления бизнес-логики на примере Django-приложений

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

Django - отличный фреймворк, но он, на самом деле, толком не дает, да и не должен давать, ответ на вопрос, каким образом лучше всего хранить вашу бизнес-логику. Хранение бизнес-логики в моделях или views имеет множество недостатков, которые обычно начинают проявляться при росте кодовой базы проекта. Чтобы решить эти проблемы, разработчики часто начинают искать способы выделения бизнес-логики в своем приложении.

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

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

На самом деле, изложенный далее текст относится не только к Django-проектам. Разрабатывая веб-приложения, используя другие инструменты, вроде Flask, люди используют те же концепции веб-разработки, причём часто именно в таком же виде, как они реализованы, в Django - views, request-response объекты, middlewares, модели, формы.

Читать далее

Маркетплейс. Хочешь сделать хорошо — напиши сам

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

Если вы хотите открыть собственный интернет-магазин, достаточно пойти в Google, и вы получите несколько десятков готовых технических решений. При этом не имеет значения, что вы планируете продавать. Рынок предлагает массу продуктов для создания интернет-магазина или маркетплейса «под ключ».

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

Переделывать за кем-то гораздо сложнее, чем создавать с нуля. А когда продукт написан своими руками под конкретные задачи, то он получается максимально производительным и гибким. Поэтому когда я задумался об открытии первого строительного маркетплейса (не путать с интернет-магазином!), я решил пойти своим путем, и писать начинку для него с нуля самостоятельно, чтобы сразу делать все, как нужно мне и не зависеть от сторонних программистов.

Я хотел создать экосистему и объединить на своей площадке уже существующие на рынке продукты: 3PL-логистику, банкинг и систему ЭДО. При этом я видел маркетплейс максимально простым, то есть не перегруженным лишним функционалом. Вот основные задачи, которые я ставил перед разработчиками.

Читать далее

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

Отображение объектов на картах в админке Django

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

Бесплатная, с открытым исходным кодом библиотека DjangoAdminGeomap предназначена для отображения объектов на карте в админке Django.

Существует полноценный многофункциональный ГИС фреймворк GeoDjango. При его использовании в админке Django можно отображать объекты на карте. Однако GeoDjango имеет большой список зависимостей от различных библиотек и особенности установки этих библиотек на различных платформах.

Если вам требуется только отображение объектов на карте в админке Django, то можно использовать библиотеку DjangoAdminGeomap. У нее нет дополнительных требований к именам и типам данных полей в таблицах базы данных и отсутствуют зависимости при установке.

Для отображения картографических данных DjangoAdminGeomap использует JavaScript фреймворк OpenLayers. Источником картографических данных являются данные проекта OpenStreetMap.

Читать далее

Как серверу на Django знать своих клиентов на React в лицо, практическое руководство

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

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


Достаточно несложно в React нарисовать форму, где можно позволить пользователям вводить свои учетные данные, включающие в себя логин и пароль. Не стоит практически никаких усилий, чтобы на Django сверить пароль, соответствующий логину в базе данных. Но что дальше? Обзор получился достаточно объемный с примерами кода, которые помогут воссоздать реализацию всех схем аутентификации/авторизации.


main

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

Ваши боли будут утолены, или Три слона, на которых стоит Python-конференция 2021 года

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

Григория Петрова, Python-некроманта, совмещающего деятельность директора по техническому маркетингу (по-простому — деврела)  компании Evrone и члена программного комитета Moscow Python Conf знают уже не только питонисты.

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

Мы встретились с Григорием и узнали много интересного. Про трех китов предстоящей конференции Moscow Python Conf++ 2021. Про нейрофизиологию, которая всегда поможет. Про что будет хайп и зачем организаторам нужна фасилитация. Разумеется, мы поговорили про Python (спойлер: асинхронное программирование и Django тоже будут). Узнали, какие нас ждут доклады и какие боли питонистов будут утолены —  обо всем этом читайте под катом.

Читать далее

Как устроен Domain-Driven Design

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

Многие проекты на Django начинаются просто: есть база данных и к приложению, которое крутится на сервере, идут обращения. Например, так начиналась Dodo IS (информационная система компании Додо Пицца, где работал автор сегодняшней статьи). Но если использовать Django из коробки, можно натворить много бед и встретить пачку антипаттернов. Возможно, вы встречали такое на старых legacy-проектах.

Евгений Пешков развивает сообщество DDD-практиков, рассказывая, какие проблемы решает Domain-Driven Design (предметно-ориентированное проектирование) в современном мире. На конференции Russian Python Week 2020 он выступил с рассказом об этом. Кстати, 19 августа пройдет встреча DDDevotion-сообщества, присоединяйтесь, будем о чем поговорить.

В сегодняшней статье будет его рассказ про то, как устроен Domain-Driven Design и какие инструменты использует, чтобы наиболее точно описать требования бизнеса и сам бизнес.

Читать далее

Моя эпопея настройки автодеплоя: ошибки и открытия

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

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

Вы сейчас закономерно заметите: “А чего ж ты сразу не сделал автодеплой? Там же все просто!”. 

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

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

Каков логичный первый шаг, если хочется сделать быстрее и не погружаться в литературу очень глубоко? 

Читать далее

Yappa: запускаем python web-приложения. Просто. Бессерверно. В Яндекс Облаке

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

$ yappa deploy

Все. 

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

Читать далее

Программа PyCon Russia: чем живет python-сообщество в 2021

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

8-й по счету PyCon Russia пройдет 5-6 сентября в Клязьма Резорт. Как всегда, встречаемся старой и новой тусовкой питонистов, отдыхаем на природе, поем песни под гитару и пиво, слушаем, какие проекты и как пилят в разных компаниях, и прокачиваемся на мастер-классах.

В этом году программу разделили на 2 тематики: разработка на python и ML& Data Science. 

Смотрите, чем живет и куда двигается python-сообщество.

Читать далее

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