Рубрика «django» - 13

Привет!

Сегодня расскажу о том, как управлять компьютером с мобильного устройства. Нет, это не очередной аналог radmin'a, и не пример того, как можно поиздеваться над компьютером друга. Речь пойдет об удаленном управлении демоном, а точнее — о создании интерфейса для управления демоном, написанном на Python.

Архитектура довольно простая:

  • «Remote control App» — Kivy-приложение, реализующее клиентскую часть для мобильных устройств.
  • «Remote control» — Django-приложение, реализующее REST API и взаимодействие с БД;
  • IRemoteControl — Класс, реализующий логику обработки поступивших команд (будет использован в демоне);

Заинтересовавшимся — добро пожаловать под кат.
Читать полностью »

3-4 июля недалеко от Москвы прошла четвертая международная конференция python-разработчиков PyCon Russia. Под катом — много видео, презентации и фотографии. А еще посмотрите отчетный ролик — в нем коротко о том, что было на PyCon-2016 плюс немного из истории конференции.


Читать полностью »

image
В этой заметке речь пойдет о HTTP-кэшировании (перевод) и его использовании совместно с фреймворком Django. Мало кто будет спорить с утверждением о том, что применение HTTP-кэширования — очень правильная и разумная практика разработки веб-приложений. Однако именно в этом функционале Django содержит ряд ошибок и неточностей, которые очень сильно ограничивают практическую пользу от такого подхода. Например, до сих пор актуален баг #15855, заведенный в апреле 2011 года, который может приводить к очень неприятным ошибкам в работе веб-приложения.

Middleware vs. explicit decorator

В Django есть два стандартных способа включения HTTP-кэширования: через активацию UpdateCacheMiddleware/FetchFromCacheMiddleware, либо через декорирование функции представления при помощи декоратора cache_page. У первого способа имеется один существенный недостаток — он включает HTTP-кэширование для всех без исключения представлений (view) проекта, зато второй содержит тот самый баг #15855. Если бы не этот баг, то вариант с использованием cache_page являлся бы более предпочтительным. Плюс, такой вариант хорошо согласуется с важнейшим из постулатов The Zen of Python, что «явное лучше неявного».Читать полностью »

Предисловие

Всем привет!

Не так давно ко мне обратились с просьбой о создании сайта. Интересный крупный проект с множеством "хочу вот это". Среди пожеланий были два главных, определивших web framework для написания, это интернационализация и панель администратора. Как уже понятно из заголовка статьи, таким framework'ом стала Django.

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

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

Читать полностью »

После нескольких лет поддержки фреймворка Django в PyCharm JetBrains и Django Software Foundation договорились о партнерстве и проведении 2-х недельной распродажи лицензий PyCharm c последующей передачей всех заработанных на распродаже денег в фонд Django на развитие различных проектов и активностей. В дополнение к распродаже, частью партнерства является внедрение нового стандарта аннотаций типов в Python (PEP 484 Type Hints) в будущие версии Django.

JetBrains и Django анонсировали 30% распродажу PyCharm, c передачей всех денег в фонд Django - 1

Читать полностью »

Являясь большим фанатом Python и фреймворка Django постоянно искал решение, как сделать разработку новых веб-проектов быстрее и удобнее.

Все, кто знаком с разработкой на Django, знают насколько неудобно строить на нем интуитивно понятную админ.панель. До мегапопулярного WordPress очень далеко, что делает порог вхождения в разработку сайтов выше, чем у PHP-фреймворков и CMS.
После долгого поиска и тестирования различных решений я нашел для себя оптимальный вариант — Wagtail CMS.

Wagtail — это полноценная CMS написанная на Django компанией Torchbox. За что им большое спасибо. Проект с открытым исходным кодом, поддерживается сообществом энтузиастов и выпускается под BSD лицензией.

Читать полностью »

Продолжает серию интервью с докладчиками PyCon Russia разговор с Мартином Горнером (Париж, Франция).

Мартин Горнер (Martin Gorner) стоял у истоков зарождения электронных книг, начиная с запуска Mobipocket, который позже стал частью программного обеспечения на Amazon Kindle и его мобильных вариантов, а с 2011 года Мартин работает в Google, где активно занимается машинным обучением и TensorFlow — принципиально новой, быстрой, умной и гибкой системой машинного обучения, которая способна работать как на простом смартфоне, так и на тысячах узлов в центрах обработки данных.

Ниже — короткое интервью с Мартином о том, что из себя представляет TensorFlow, почему Google открыли TensorFlow для разработчиков в open source, и чем система может быть интересна разработчику, не знакомому с машинным обучением.

Интервью с программистом из Google Мартином Горнером о TensorFlow - 1

3-4 июля Мартин будет на конференции PyCon Russia 2016

Читать полностью »

Серию интервью со спикерам PyCon Russia продолжает разговор с Александром Кошкиным, python-разработчиком в компании Positive Technologies. Последнее время Александр живет в Бостоне и занимается разработкой различных компонентов PT SIEM. Мы поговорили с Сашей про python и его жизнь в США.

Интервью с python-разработчиком Александром Кошкиным о языке Python и жизни в США - 1

Александр — спикер многих конференций. Вот, например, его выступление «Знай и люби свой PyObject, ты же программист» на Python Meetup в Минске

Читать полностью »

Прошло много времени с моего последнего поста о Channels, и вместе с этим много чего случилось — API разработано и стабилизировано, добавился функционал вроде "контроля за переполнением" (backpressure), ситуация с бекендами выглядит гораздо лучше, особенно после того, как слой взаимодействия локальных и удаленных машин стал немного взрослее.

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

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

Читать полностью »

Зимой 2016 года у нас в Stepic.org возникла идея сделать для наших учащихся персонального помощника, поэтому мы позвали студента СПбАУ РАН Константина Чаркина на стажировку, результатом которой видели Telegram-бота. Это потом всё вышло из под контроля и появился набор стикеров и каналы по курсам… Но обо всём по порядку!

Stepic.org в Telegram: как мы разрабатывали бота и что из этого получилось - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js