Как стать автором
Обновить
9.25

Django *

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

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

Создадим команду Wild Politics вместе

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

Здравствуйте, Хабровчане!

Мой предыдущий пост "Как потратить шесть лет и быть невидимкой в Play Market" собрал пусть и не рекордные, но всё-таки 13 тысяч просмотров, благодаря чему в мой пет-проект заглянуло много новых лиц. Я благодарен вам за внимание к игре, отзывы и критику.

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

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

Доступность в Play Market. Вероятнее всего, игру не видно в поиске, в первую очередь из-за того, что она находится на стадии пре-регистрации. Также, ранее слабой была ASO-оптимизация страницы игры (буквально мало "ключевых слов" в тексте описания). Полагаю, ситуация изменится с выходом игры в публичный доступ. Но уже сейчас она собрала более 200 заявок на предварительное скачивание.

Прежде чем публиковать игру для "миллиардов пользователей Google Play", я планирую завершить перевод игры на анг

Читать далее
Всего голосов 5: ↑1 и ↓4-1
Комментарии0

Новости

Всё, что вы хотели знать о Django Channels

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

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

Когда я впервые начал работать с Django, меня всё устраивало, за исключением одного момента: как сделать так, чтобы приложение могло общаться с пользователем в реальном времени? Веб-сокеты, уведомления, асинхронные запросы — казалось, это точно не про чистый Django. Но затем я наткнулся на Django Channels, и многое изменилось. Channels позволили мне сделать приложение асинхронным, добавить поддержку веб-сокетов и превратить его во что-то гораздо более крутое.

В этой статье я расскажу, как работать с Django Channels.

Читать далее
Всего голосов 14: ↑14 и ↓0+19
Комментарии0

Встроенные механизмы безопасности фреймворков Python

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

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

Python, будучи одним из популярных языков программирования, предлагает множество фреймворков, каждый из которых должен быть защищен и иметь встроенные механизмы безопасности либо возможности для встраивания этих механизмов. В этой статье попробуем разобраться, какие возможности действительно предоставляют фреймворки, рассмотрим механизмы безопасности и способы их настройки на примере распространенных фреймворков: Django, FastAPI и Flask.

Читать далее
Всего голосов 6: ↑6 и ↓0+9
Комментарии3

Практика реализации Веб-ГИС приложений и сервисов на основе открытых ресурсов. Начало

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

Идея спасти мир и при этом заработать немного шекелей витала у меня в голове уже давно. Имея неплохой накопленный опыт в области геоинформационных систем и защитивши в свое время диссертацию с их применением мне не хватало знаний разработчика. Окончив IT-курсы и получив доступ к "Святому Граалю знаний" я понял, – пора, и завертелось! Летом 2024 года мы в составе команды "Arrow" одержали победу, заняв третье место в хакатоне "Лидеры цифровой трансформации" и вошли с нашим проектом в топ-100, став резидентами "Академии инноваторов" у нас появился свой стартап.

Общая идея такова. "Arrow" – это платформа для анализа и обработки спутниковых снимков, использующая технологии машинного обучения и нейросетей для мониторинга окружающей среды, строительства и природопользования. Наш продукт помогает бизнесу и государственным структурам автоматизировать выявление экологических нарушений и незаконных построек, обеспечивая более точное и своевременное реагирование. Это в «розовом» будущем, а пока это только проект «Мобильное приложение для управления антропогенной нагрузкой на особо охраняемых природных территориях Камчатского края», занявшее призовое место, хотя и этот результат тоже когда-то был только в мечтах.

Я хочу открыть целый цикл статей в котором постараюсь осветить историю жизненного цикла нашего проекта "Arrow", которая будет писаться на ваших глазах. Здесь будет все: и фронт и бэк и мобильная разработка, будет и деплой в облако. В этих статьях ("Путь к стартапу: от хакатона до акселератора"), которые к стати буду писать не только я, но и ребята с моей команды, мы хотим осветить все начиная от создания MVP (минимально жизнеспособный продукт) и заканчивая выводом проекта в продакшн, анализ целевой аудитории и поиск первых клиентов, привлечение первых инвестиций, подбор команды, в общем все этапы через которые нам предстоит пройти для достижения своей цели, - получения интересного и востребованного продукта. Начнем же…

Читать далее
Всего голосов 9: ↑7 и ↓2+7
Комментарии0

Истории

Что изменилось в open source-альтернативе TestRail. От кастомных статусов и атрибутов до bulk-операций

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

Привет! Я Александр Зырянов, проектный менеджер TestY и QA-менеджер в департаменте контроля качества YADRO. Тест-менеджмент системе TestY, которая доступна в open source любой команде и компании, скоро два года. Мы готовим крупный релиз 2.0 с масштабными изменениями, в том числе дизайна интерфейса.

А пока в качестве «аппетайзера» я расскажу про последние обновления к релизу 1.3.4. Среди них — bulk-операции, пуш-уведомления пользователей, доработка кастомных атрибутов и статусов. Подробнее о каждом — под катом. Устанавливайте TestY и испытайте в работе нашу открытую систему. 

Читать далее
Всего голосов 15: ↑15 и ↓0+22
Комментарии2

От REST к GraphQL: эволюция управления данными в Wagtail

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

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

Привет! Я Олег, Python-разработчик в Kokoc Group, и сегодня расскажу, как ускорить работу с данными в CMS Wagtail и сделать разработку проще и приятнее с помощью GraphQL и Graphene. В статье разберу реальные примеры и покажу процесс настройки конкретной системы.

Читать далее
Всего голосов 4: ↑4 и ↓0+8
Комментарии2

Нотификации в telegram о падении приложения, через графану

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

Это не анонсированная третья часть. Первые две здесь:

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

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

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

Читать далее
Всего голосов 7: ↑3 и ↓4+4
Комментарии5

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

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

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

Читать далее
Всего голосов 6: ↑6 и ↓0+11
Комментарии10

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

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

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

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

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

Читать далее
Всего голосов 4: ↑2 и ↓2+4
Комментарии0

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

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

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

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

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

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

Поехали
Всего голосов 4: ↑4 и ↓0+8
Комментарии0

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

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

Сегодня мы погрузимся в процесс создания собственного 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, для удобного тестирования и наглядной визуализации документации.

Читать далее
Всего голосов 10: ↑9 и ↓1+10
Комментарии16

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

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

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

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

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

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

Читать далее
Всего голосов 11: ↑9 и ↓2+10
Комментарии12

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

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

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

Читать далее
Всего голосов 8: ↑8 и ↓0+10
Комментарии2

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

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

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

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

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

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии1

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

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

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

Читать далее
Всего голосов 13: ↑12 и ↓1+14
Комментарии2

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

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

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

Читать далее
Всего голосов 6: ↑3 и ↓3+2
Комментарии6

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

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

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

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

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

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

Припарковаться правильно
Всего голосов 63: ↑55 и ↓8+67
Комментарии143

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

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

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

Читать далее
Всего голосов 10: ↑9 и ↓1+10
Комментарии12

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

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

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

Читать далее
Всего голосов 11: ↑11 и ↓0+12
Комментарии1

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

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

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

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

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

Узнать, как править всеми
Всего голосов 4: ↑3 и ↓1+4
Комментарии1
1
23 ...

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

Работа

Python разработчик
118 вакансий