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

Django *

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

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

Удалённое управление UART'ом через Web

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

Начнём с железа


image Работал я как-то на одном заводе, где лепили всякую электронику, не шибко сложную, и иногда подпадавшую под определение «Интернет вещей». По большей части, всякие датчики для охранных систем: датчики дыма, шума, проникновения, огня и всякое другое. Ассортимент изделий был широчайший, партии иногда были меньше 500 штук, и едва ли не под каждое изделие приходилось делать отдельный Test Fixture — по сути, просто жестяная коробка, в которую изделие на тестах ставилось, прижималось крышкой, и снизу контактные иглы прижимались к контактным точкам на печатной плате, как-то так:
Читать дальше →

Разворачиваем Kubernetes на десктопе за несколько минут с MicroK8s

Время на прочтение5 мин
Количество просмотров48K
Начать работать с Kubernetes не всегда бывает просто. Не у всех есть необходимая для разворачивания полноценного кластера Kubernetes инфраструктура. Для локальной работы Kubernetes предлагет утилиту Minikube. Minikube — достаточно простое и удобное средство, и есть несколько обучающих курсов по работете с Minikube. Но, все же, о Minikube нельзя сказать, что с помощью этой утилиты можно за несколько минут развернуть среду Kubernetes.

Сегодня я хочу рассказать о пакете MicroK8s, который без преувеличения позволяет развернуть Kubernetes локально за несколько минут, и начать разработку. Не требуется даже предустановленных Docker и Kubernetes, т.к. все включено. В предлагаемом Вам уроке будет рассмотрен деплой приложения Django в локальной среде Kubernetes.

В качестве источника я шел вслед за серией статей Mark Gituma, в которых описана аналогичная работа, но только с Minikube, а не с MicroK8s.

Все же есть одно требование, которое необходимо удовлетворить до начала работы. У Вас должен быть установлен Snap, что в свою очередь означает, что у Вас должен быть установлен Linux.
Читать дальше →

«Удаление» объектов в Django

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


Рано или поздно перед разработчиками встаёт задача удаления ненужных данных. И чем сложнее сервис, тем больше нюансов необходимо учесть. В данной статье я расскажу, как мы реализовали «удаление» в базе данных с сотней связей.
Читать дальше →

Без ансамбля

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


Решили мы однажды заняться автоматизацией наших рутинных рабочих моментов. Создать у себя ансамбль(ansible) или что-нибудь в этом роде. Я полез на сайт ансамбля, посмотрел как он работает … подключается к удаленному серверу через ssh и выполняет какие-то там скрипты... Стоп, подумал я, разве для этого нужен ансамбль? Я и без ансамбля, сам ..., один… могу это сделать! А чтобы не только лишь я это мог, решил написать вэб приложение. Приложение назвали Update Server, сокращенно UpS.

Ворнинг! Под катом много картинок и пара гифок.
Посмотреть что из этого вышло

Multi-page SPA на Питоне

Время на прочтение15 мин
Количество просмотров12K
Мост между Python и React

Сова – это нано-фреймворк, который можно встроить в другие фреймворки.
Картинка с sova.online, на котором запущено 3 http сервера:
http://sova.online/ — просто Falcon
http://sova.online:8000/ — просто Django
http://sova.online:8001/ — просто Python (логин: 1, пароль: 1)
Там же исходные коды и инструкция по установке. Там же нет рекламы.


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

Распознаём тексты на Android Things с ABBYY RTR SDK и django

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

Привет! Меня зовут Азат Калмыков, я студент второго курса ОП “Прикладная математика и информатика” Факультета компьютерных наук НИУ ВШЭ и стажёр в отделе мобильной разработки компании ABBYY. В этом материале я расскажу про свой небольшой проект, выполненный в рамках летней стажировки.



Представьте себе небольшой конвейер. По нему едут товары или какие-то детали, на которых важно распознавать текст (возможно, это некий уникальный идентификатор, а может, и что-то более интересное). Хорошим примером будут посылки. Работу конвейера дистанционно контролирует оператор, который отслеживает неполадки и в случае чего решает проблемы. Что может ему в этом помочь? Девайс на платформе Android Things может быть неплохим решением: он мобильный, легко настраивается и может работать через Wi-Fi. Мы решили попробовать использовать технологии ABBYY и узнать, насколько они подходят для таких ситуаций — распознавания текста в потоке на “нестандартных устройствах” из категории Internet of Things. Мы сознательно будем упрощать многие вещи, так как просто строим концепт. Если стало интересно, добро пожаловать под кат.

Топ книг по фреймворку Django

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


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

Еще одна реализация Обработки Данных

Время на прочтение2 мин
Количество просмотров3.6K
Представьте себе инструмент, с помощью которого вы можете трансформировать любые данные в… любые данные.

Самый доступный пример — Изображения. Что если я хочу получить картинку определенного размера и поставить где-нибудь водяную марку (тоже определенного размера).

И вот один из примеров как это может выглядеть:

image

P.S.: Это обзорная статья, если будет интересно, дальше опишу подходы детальнее.
Читать дальше →

GeekBrains начинает готовить Full-stack разработчиков на Python

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


Наш образовательный портал GeekBrains объявляет о запуске нового курса подготовки веб-разработчиков на Python (Django). Продвинутый курс с углубленным изучением фреймворка Django позволит вам претендовать на должность Full-stack разработчика — специалиста с большим набором компетенций, способного создать веб-приложение с нуля.

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

Как создать чат-бота для ВКонтакте, используя Python, Django и webhook

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

Зачем ещё одна статья про создание чат-бота?


Возможно я плохо искал, но я не смог найти подробного руководства по созданию бота на python с применением фреймворка Django и подхода webhook, работающего на хостинге от российской компании. В большинстве материалов говориться о применении фреймворка Flask и использования бесплатных хостингов Heroku и PythonAnywhere. Опыт сообщества Хабр меня выручает, поэтому я решил в знак благодарности потратить время на написание данной статьи. Опишу полученный практический опыт, чтобы дать возможность всем кто в этом заинтересован сэкономить время и лучше понять как сделать бота на Python с применением фреймворка Django на своём хостинге, используя подход webhook.
Читать дальше →

Авторизация пользователей в Django через GSSAPI и делегация прав пользователя серверу

Время на прочтение4 мин
Количество просмотров8.9K
Недавно нам с коллегами понадобилось реализовать прозрачную (SSO) авторизацию в нашем проекте. Сейчас довольно мало информации по теме особенно на русском языке. По этой причине решено было поделиться с потомками реализацией подобного функционала.

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

Интеграция с SAP ERP, на примере с Django-python, по протоколу oData(rest)

Время на прочтение10 мин
Количество просмотров13K
Добрый день, Хабр!

Всегда была интересна тема интеграции больших систем вроде SAP с небольшими, но более гибкими, так-сказать взять лучшее из того и другого.

В частности, в моем примере будет описана интеграция SAP ERP с Django.

Задача


Из за введенного нашим любимым государством множества разных систем контроля: Егаис, Меркурий и многое другое, многие компании принялись адаптировать свои тяжелые, и мягко сказать неповоротливые системы (касается больших компаний) к новым условиям. Не буду говорить в каких в частности адаптировал и я, но в голове всегда крутилась мысль – Создать единую систему отслеживания всего на базе отдельной платформы.

Средства


Не особо долго выбирав какие инструменты взять, я выбрал: Язык программирования Python – ввиду обилия библиотек со всем и вся, платформу Django, вот не спрашивайте почему Django, а не Flask или Odoo. Odoo я уже брал за платформу и хотелось изучить одну из этих, взял первую, ну не знаю почему, наверное из за большей простоты. ERP систему для разработки SAP- ну тут у меня не особо был выбор, т.к. я работаю в компании интеграторе SAP, поэтому у меня есть и знания и доступ к песочницам этой системы, что бы имея все условия спокойно делать свое дело беспрепятственно.
Читать дальше →

Миграция схемы базы данных без даунтайма для postgresql на примере django

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

Введение


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


Хочу поделиться опытом написания миграций для postgres и django. Речь в основном пойдёт про postgres, django же здесь хорошо дополняет, так как из коробки имеет автоматическую миграцию схемы данных по изменениям модельки, то есть имеет довольно полный список рабочих операций по изменению схемы. Django можно заменить на любой любимый фрэймворк/библиотеку — подходы скорее всего будут похожи.


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


Перед тем как пойти дальше позволю себе сделать следующие предположения.


Можно разделить логику работы с базой данных большинства приложений на 3 части:


  1. Миграции — изменение схемы базы данных (таблиц), предположим мы всегда запускаем их в один поток.
  2. Бизнес логика — непосредственная работа с данными (в пользовательских таблицах), работает с одними и теми же данными постоянно и конкурентно.
  3. Миграции данных — не изменяют схемы данных, работают по сути как бизнес логика, по умолчанию, когда будем говорить про бизнес логику, будем также подразумевать и миграции данных.

Даунтайм — это состояние, когда часть нашей бизнес логики не доступна/падает/грузится на заметное для пользователя время, предположим это пару секунд.


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

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

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

Автор Python больше не руководит разработкой. Сделает это язык лучше или хуже?

Время на прочтение7 мин
Количество просмотров16K
Всё Python-сообщество надеется, что это не отразится на экосистеме негативно. Но одного этого недостаточно. Мы вот, например, считаем важным поддерживать сообщество и, как одно из мероприятий, проводим большую конференцию под названием Moscow Python Conf++. Там сможем обсудить этот и другие важные вопросы. А пока частично познакомлю вас с Программным комитетом. А задал им несколько вопросов, которые как раз и раскроют взгляды на экосистему, и расскажут о людях лучше их профессиональных достижений.

Кроме заглавного вопроса, спрашивал вот что:

  • Что порекомендуешь для управления зависимостями?
  • На чем сейчас лучше всего делать backend?
  • TensorFlow все так же рулит для Machine Learning, или пора изучать что-то новое?
  • Почему твоему джуну надо учить Python, а не JavaScript?
  • Говорят, что в вебе backend уже не нужен. Так ли это?
  • 3.x или 2.7?
  • Чем хороший Python разработчик отличается от плохого?

Спойлер: Провокация «3.x vs 2.7» не удалась, ответ однозначный. Отказываться от бэкенда, кажется, еще рано, а на чем его делать, зависит от задачи — кто бы мог подумать.
Читать дальше →

Настраиваем Web Push Notifications использованием pywebpush шаг за шагом

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

Зачем еще одно руководство?


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

Как работает JS: веб push-уведомления
Web PUSH Notifications быстро и просто924/
Service Workers. Web Push и где они обитают

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

Настройка уведомлений в итоге заняла три дня и мне кажется, что это несколько многовато. Надеюсь, моя статья поможет кому-то настроить push notifications за три часа вместо трех дней.
Проект, на котором я работаю, реализован на Django и описывать ход работы я буду применительно к этому фреймворку, но желающие легко адаптируют его к Flask или чему-либо еще.

Итак, погнали.
Читать дальше →

Подкасты о Python: вот все, что мы нашли

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

Запрос “Алиса, что послушать о Python”, заданный Гуглу, скорее всего приведет вас в ступор, на статьи многолетней давности, которые не очень актуальны, либо на давно закрытые темы, которые просто нельзя (или некому) обновить.

Так и родилась идея сделать список тематических аудио-видео-кастов и постараться поддерживать его в актуальном виде. Хотя бы год. Если вы читаете это в 2020-м, тоже стучитесь в личку или пишите о своем подкасте в комментарии — добавим.

13 подкастов и немного Испании

Конференция PyCon Russia 2018: видео всех докладов и презентации

Время на прочтение6 мин
Количество просмотров9.5K
22-23 июля прошла шестая конференция для python-программистов PyCon Russia. Под катом — много видео, презентации и фотографии. А еще посмотрите отчетный ролик — в нем коротко о том, как прошел PyConRu-2018.


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

ELK Stack для хранения логов Django приложения

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

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


Решением было создание централизованного лог хранилища с агрегацией логов и поиском. Выбор пал на ELK стек. ELK — сочетание трех OpenSource проектов: ElasticSearch, Logstash и Kibana. ELK хранит логи, строит графики и есть поддержка полнотекстового поиска с фильтрами. В статье описывается процесс настройки ELK стека для хранения логов Django приложения.

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

Django Channels – ответ современному вебу

Время на прочтение13 мин
Количество просмотров51K
В мире Django набирает популярность дополнение Django Channels. Эта библиотека должна принести в Django асинхронное сетевое программирование, которое мы так долго ждали. Артём Малышев на Moscow Python Conf 2017 объяснил, как это делает первая версия библиотеки (сейчас автор уже запилил channels2), зачем она это делает и делает ли вообще.

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

  • Twisted;
  • Eventlet;
  • Gevent;
  • Tornado;
  • Asyncio.

Казалось бы, зачем писать еще одну библиотеку и надо ли вообще.


О спикере: Артём Малышев независимый Python разработчик. Занимается разработкой распределённых систем, выступает на конференциях по Python. Артёма можно найти по никнейму PROOFIT404 на Github и в социальных сетях.

9 платных, условно-бесплатных и бесплатных программ для трекинга кода приложений

Время на прочтение9 мин
Количество просмотров20K
Трекинг кода must-have в среде разработки. Но вот насколько нужен этот же инструмент в продуктиве? Тот, кто лишь кропотливо собирает логи скажет «ну его нафиг, мой ELK меня не подводит» и будет по-своему прав. До поры до времени.


Протрейсить как следует

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