Обновить
-12.43

Django *

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

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

Инструмент django-command

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели1.8K

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

Читать далее

Django приложение в докере. Логирование и мониторинг (тоже в докере)

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

Обещанная вторая часть. Первая часть здесь.

Основной идеей было настроить все с минимальным количеством ручных действий для работы легирования и мониторинга.

Одно ручное действие все же потребуется — указать хост (или ip), по которому Prometheus будет собирать метрики. В остальном все заработает просто по docker-compose up.

Читать далее

Подготовка Django приложения для локальной разработки и деплоя

Время на прочтение3 мин
Охват и читатели1.4K

Поговорим про настройку приложения для двух сред «разработки» local и условного прода. Локально приложение будет запускаться с установкой всего необходимого на компьютер, то, что дальше я буду именовать продом будет представлять из себя запуск через docker-compose.

Что это за приложение по сути значения не имеет, из особенностей — там будет celery поверх redis и Postgres, как персистентное хранилище. Код приложения можно посмотреть здесь.

Настроим переменные окружения для двух разных сред и подготовим код под это.

Настроим логирование через Loki и Grafan-у. Настроим мониторинг через Prometheus в ту же Grafan-у.

Поехали

Полноценный API на Django REST Framework: легкая разработка, автодокументация и быстрый деплой

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели10K

Сегодня мы погрузимся в процесс создания собственного API на Django с использованием мощного инструмента — Django REST Framework (DRF). Этот фреймворк предоставляет полный набор инструментов для разработки API: маршрутизация, сериализация данных, обработка запросов и формирование ответов. DRF значительно упрощает взаимодействие с клиентами через HTTP, поддерживая такие методы, как GET, POST, PUT и DELETE.

Однако, в отличие от FastAPI, Django REST Framework не включает встроенный инструмент для автодокументирования API. Мы легко решим эту задачу, воспользовавшись расширением drf‑spectacular, которое генерирует спецификации API в формате OpenAPI 3.0. Это позволит интегрировать интерфейсы, такие как Swagger и Redoc, для удобного тестирования и наглядной визуализации документации.

Читать далее

Django 5: асинхронный бекенд и эффектный фронтенд с минимальными затратами времени

Время на прочтение17 мин
Охват и читатели7.6K

Приветствую, друзья!

Уже давно у меня возникала мысль подробно, как в случае с FastAPI и Aiogram 3, разобрать «суровый» Django 5. Однако, из-за большого дефицита свободного времени и масштабности Django, руки до этого не доходили. Сегодня, как вы уже поняли, момент настал.

В процессе написания кода мы затронем следующие темы: маршрутизация, работа со статическими файлами, асинхронное использование Django 5, работа с базой данных SQLite через встроенное ORM и многое другое.

Сегодня мы создадим простой сайт, который будет демонстрировать гороскоп на завтра для любого знака зодиака. Чтобы было интереснее, гороскоп будем парсить в момент обращения к знаку зодиака (об этом подробнее далее).

Читать далее

Автотесты на Django: менеджмент данных тестирования на монолите

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

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

Читать далее

Часть 2.5. TMA на KMP. Аутентификации пользователя с DRF

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели909

Эта короткая статья является дополнением ко второй, но можно прочить независимо, если требуется только реализация серверной части аутентификации.

Читать далее

Как вкусно приготовить «Сельдерей» (Celery)

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели3.8K

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

Читать далее

Система оценивания для проведения экзаменов, срезов в СПО

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

Привет всем! Сегодня я расскажу вам о моей системе оценивания, которая создана для проведения экзаменов и оценки знаний студентов. Система построена на Django Rest Framework (DRF) для бэкенда и React с MaterialUI для фронтенда. Я добавил множество полезных функций, включая интеграцию с ISPmanager, которые делают систему удобной и эффективной.

Читать далее

ХрюХрюКар: как перестать беспокоиться, начать создавать сервисы и обзавестись друзьями

Уровень сложностиПростой
Время на прочтение28 мин
Охват и читатели5.6K

Привет, Хабр!

Мы хотели научиться создавать сервисы от момента возникновения идеи и до этапа эксплуатации, попутно освоив новые технологии.
В итоге получился экспериментальный проект "ХрюХрюКар" — сервис для борьбы с неправильной парковкой, работающий под лозунгом "Хорошие ребята говорят 'Bla-Bla' и не ставят машину на зелёной зоне".

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

Ну и поделимся всеми исходниками, конечно.

Припарковаться правильно

Оптимизация запросов к БД на django

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

Стоит ли использовать django в 2024? Я думаю — да. DRF очень удобен, скорость разработки очень высока (особенно, если использовать generic views, django‑filters), огромное количество готовых батареек сильно облегчает жизнь и встроенная админка хорошо подходит для большинства сайтов. Полностью асинхронные фреймворки (или переход на другой язык) не дадут большого выиграша, если ваш сервис много работает в БД — вы упретесь в её производительность и ограничения количества соединений с пулом бд. Далее я вкратце пробегусь по основным моментам и дам ссылки на документацию и готовые батарейки.

Читать далее

Как настроить уведомления в Django с помощью сигналов: пошаговое руководство

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели5.3K

В Django сигналы используются для отправки и получения важной информации при сохранении, изменении или даже удалении модели данных и это относится к определенным прошлым или настоящим событиям в реальном времени. Сигналы помогают нам связывать события с действиями. Меня зовут Ясин, я младший разработчик Python в Kokoc Group, работаю чуть больше года. Изучаю и использую в работе фреймворки Django и FastAPI. Сегодня покажу пример, как можно эффективно использовать сигналы, но ожидаю, что вы имеете базовые представления о Python 3, виртуальной среде и настройке проекта Django  версии 3 или выше. Поехали!

Читать далее

Обратная сторона умного поиска заказов

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели761

Всем привет, меня зовут Иван Елфимов, я Developer Advocate в Островке. До DevRel-ства я 5 лет руководил командой разработки партнёрских интеграций. 

Мы в Островке создаём платформы бронирования тревел-услуг не только для индивидуальных путешественников, но и для корпоративных клиентов и тревел-агентств — наших B2B-партнёров.

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

Узнать, как править всеми

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

Pandas — НЕ для анализа данных (Используем Pandas для server-side рендеринга html)

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели9.4K

В среде питонистов библиотека Pandas пользуется большой популярностью и по большей мере известна в контексте DataSciense и анализа данных. DataFrame пандас позволяет не только всячески манипулировать данными, но и выводить их в нужном формате, предоставляя широкие возможности для кастомизации. Например, использовали ли вы объекты класса Styler, входящего в состав Pandas? Мне показалось интересным взглянуть на Pandas с этой стороны.

Читать далее

Ускорение роутера в Django в 51 раз

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

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

Читать далее

Магия динамического маппинга. Реализация универсальной обработки файлов нефиксированной структуры на Python

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели1.7K

Привет! На связи Никита Ильин из Spectr, Backend-разработчик с опытом более 5 лет. 

Один из проектов, с которым мы работаем, — IBP-платформа для планирования и прогнозирования спроса и продаж в ритейле. В статье поговорим о конкретной реализации для одной из задач в рамках этой платформы на Python и Django. При этом сама концепция может быть реализована абсолютно на любом фреймворке или платформе: Spring, .NET, Laravel.

Узнать о магии больше

Как создать волшебника в Django: многошаговые формы

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

Сегодня мы поговорим о магии, но не той, что преподают в Хогвартсе. Речь пойдет о создании волшебника, точнее многошагового мастера форм в Django, который позволяет пользователю шаг за шагом продвигаться к желаемому результату. Эта статья расскажет, как использовать django-formtools для реализации волшебства на вашем сайте.

А причем тут магия? Узнаете чуть позже.

Читать далее

Как стать Python-разработчиком с нуля? Бесплатная программа обучения

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

Если вбить фразу «python разработка» в поисковую строку, можно найти огромное количество курсов по данному направлению. Дело в том, что все курсы являются платными и, как правило, имеют ценник в несколько десятков тысяч рублей. 

Чтобы разбавить обилие платных курсов, мы подготовили для вас программу обучения «Python-разработчик с нуля», которая состоит только из бесплатных курсов.

Читать далее

Тестируем внешнее django-приложение при помощи pytest

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

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

Итак, у вас есть джанго-приложение, апишка к нему, и вы хотите написать автотесты на пайтест, находясь вне этого джанго-приложения. Погнали.

Читать далее

µDjango — технология создания асинхронных микросервисов

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

Примерно 5 годами ранее появления FastAPI была обнародована идеология построения легковесных микросервисов на Django, которая стала актуальной только после внедрения асинхронности в этом фреймворке.

Хотя в последней (на момент написания статьи) версии Django 5.0.5 асинхронно решается только часть задач, но уже сейчас можно начать создавать асинхронные микросервисы воспользовавшись технологией µDjango.

Так что это такое,  µDjango?

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