Обновить
5.9

Django *

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

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

Генерация фиктивных данных с Mimesis: Часть II

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

Ранее мы уже публиковали статью о том, как генерировать фиктивные данные при помощи Mimesis — библиотеки для языка программирования Python. Статья, которую вы читаете является продолжением предыдущей, потому мы не будем приводить основ работы с библиотекой. Если вы пропустили статью, поленились прочитать или просто не захотели, то, вероятно, захотите сейчас, ибо эта статья предполагает, что читатель уже знаком с основами библиотеки. В этой части статьи мы будем говорить о best practice, расскажем о нескольких, на наш взгляд, полезных особенностях библиотеки.

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

Генерация фиктивных данных с Mimesis: Часть I

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

Mimesis — это библиотека для языка программирования Python, которая помогает генерировать фиктивные данные для различных целей. Библиотека написана с использованием средств, включенных в стандартную библиотеку языка Python, потому не имеет никаких сторонних зависимостей. На данный момент библиотека поддерживает 30 языковых стандартов (в числе которых и русский) и более 20 классов-провайдеров, предоставляющих разного рода данные.


Возможность генерировать фиктивные, но в то же время валидные данные бывает очень полезна при разработке приложений, которые подразумевают работу с базой данных. Ручное заполнение базы данных представляется довольно затратным по времени и трудоемким процессом, который выполняется как минимум в 3 этапа — это:


  1. Сбор необходимой информации.
  2. Постобработка собранных данных.
  3. Программирования генераторов данных.

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

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

Moscow Python Meetup №41

Время на прочтение1 мин
Количество просмотров3.7K
22-го декабря в 19:00 на Мансарде RAMBLER&Co состоится 41-я встреча MoscowPython

image

На встрече мы услышим 3 доклада:
Читать дальше →

Мониторинг состояния своего ресурса при помощи Telegram-бота

Время на прочтение5 мин
Количество просмотров39K
Привет, Хабр! Я уже давно наблюдаю за тобой, но все никак не решаюсь сделать свой первый шаг. Теперь мне показалось что я готов. Расскажу о своем опыте работы с telegram ботом — последнее время эта тема достаточно популярна на просторах сети, да и на самом Хабре я встречал уже не мало статей. Но по большей части в них рассказывается о принципах создания ботов, и нет ни слова о том, какую практическую пользу можно из этих самых ботов извлечь.
Читать дальше →

Автоматическое развёртывание Django из GitLab

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

В этой статье я опишу настройку автоматического развёртывания веб-приложения на стеке Django + uWSGI + PostgreSQL + Nginx из репозитория на сервисе GitLab.com. Изложенное также применимо к кастомной инсталляции GitLab. Предполагается, что читатель располагает опытом в создании веб-приложений на Django, а так же опытом администрирования Linux-систем.

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

Релиз PyCharm 2016.3: Полная поддержка Python 3.6, улучшения в Python консоли, обозревателе переменных, и многое другое

Время на прочтение4 мин
Количество просмотров31K
Всем привет! Вчера мы выпустили новый PyCharm 2016.3, который уже доступен для скачивания.
Этот релиз является последним крупным обновлением с новой функциональностью в 2016 году.


С момента предыдущего релиза PyCharm прошло ровно 4 месяца. За это время PyCharm получил ряд новых полезных улучшений в инструментах для Python, Django, веб и научной разработки, которые, как всегда, тесно интегрированы и эффективно работают друг с другом. Сегодня мы рады рассказать, что же интересного и важного появилось в новой версии PyCharm.
Читать дальше →

Стратегии расширения Django User Model

Время на прочтение9 мин
Количество просмотров110K
В Django встроена прекрасная система аутентификации пользователей. В большинстве случаев мы можем использовать ее «из коробки», что экономит много времени разработчиков и тестировщиков. Но иногда нам необходимо расширить ее, чтобы удовлетворять потребностям нашего сайта.

Как правило возникает потребность хранить дополнительные данные о пользователях, например, краткую биографию (about), дату рождения, местоположение и другие подобные данные.

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

Что нам стоит сервис email-маркетинга построить? Взгляд изнутри, часть первая

Время на прочтение5 мин
Количество просмотров18K
Насколько сложно построить полноценный сервис email-маркетинга? Что для этого нужно предусмотреть? Какие подводные камни могут встретиться на пути пытливых умов разработчиков?



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

Сразу оговорюсь, что в статье рассмотрена только техническая сторона вопроса.
Читать дальше →

Интервью с Ильёй, который выступит на Moscow Python уже послезавтра

Время на прочтение3 мин
Количество просмотров5.2K
Итак, я выжил после организации INTERCOM, но впереди еще два эвента! И уже послезавтра я с коллегами из Moscow Python соберу разработчиков на одноименной конференции: чтобы пить кофе, общаться, общаться и еще раз общаться! А чтобы было о чем общаться, мы распределили по двум потокам 14 спикеров, которые расскажут самое любопытное из мира Python разработки и зададут темы для обсуждения. Илья Беда, техлид Bro.Engineering – тот самый «full stack developer», который и на Python backend, и на JavaScript фронтенд и на Qt десктоп. На конференции Илья расскажет про конструирование собственных DSL, используя структуры данных Python. А на Хабре – уже ответил на множество каверзных вопросов и рассказал, как смотрит на разработку. Кстати, с предыдущими тремя интервью вы можете ознакомиться здесь, здесь и здесь.
Под катом - ответы на все вопросы

Что нужно знать, уметь и понимать, чтобы не иметь проблем с поиском работы питонистом

Время на прочтение10 мин
Количество просмотров179K
Язык — лишь малая часть того, что вам нужно знать. Может быть около 5%, а то и меньше.

Эта статья повторяет и дополняет содержание моего выступления «Что отличает джуниора от сеньора или как питонисту не иметь проблем с поиском работы» на последнем MoscowPython Meetup 39. Многие обращались ко мне после выступления с вопросами и я обещал опубликовать статью на Хабре и обсудить в комментариях.

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

no problem

Таки что же?!

Запускаем простой блог на Wagtail CMS (Django) — часть 2

Время на прочтение9 мин
Количество просмотров19K
С момента написания первой части про Wagtail CMS уже вышла версия 1.6.3 — самое время продолжить наш путь по созданию простого блога.

Часть 1
Часть 3

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

Запускаем простой блог на Wagtail CMS (Django) - часть 2
Читать дальше →

Интервью с Кириллом Борисовым, который выступит на Moscow Python Conf 12 октябя

Время на прочтение3 мин
Количество просмотров4.7K
Организовывать три айтишных события одновременно с выходом Legion — то еще удовольствие. Тем не менее, как принято говорить у геймеров, «маны нет — но мы держимся». А я продолжаю брать интервью у спикеров, которые всего через неделю расскажут вам интересное из мира Python разработки и, что самое важное, будут готовы все это обсудить во время многочисленных кофе пауз, которые я аккуратно расставил по всей программе.

Кирилл занимается разработкой уже больше десяти лет и в данный момент работает над Яндекс Паспорт, используя для работы исключительно Python. Яндекс — компания немаленькая, Паспорт — не самый простой проект, и Кириллу есть что нам рассказать. Но прежде чем он это сделает, я задал ему десяток коварных вопросов о разработке, ответы на которые и расположены под катом. Кстати, с предыдущими двумя интервью вы можете ознакомиться здесь и здесь.
Под катом - ответы на все вопросы

Интервью с Артёмом Малышевым, который выступит на Moscow Python в октябре

Время на прочтение3 мин
Количество просмотров6.3K
Айтишных конференций в Москве проходит много. Если ходить на каждую — то можно только этим и заниматься. Разработчики-интроверты ходить на конференции не очень любят: кто все эти люди, почему доклады либо неинтересны либо для полутора узких спецов, все равно ничего нового не узнаю и так далее. Но ходят. Потому что конференция — это уникальная возможность пообщаться с такими же разработчиками, которые собрались в одно месте специально для этого. А чтобы не промахнуться, мы ориентируемся на доклады.

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

На прошлой неделе я проинтервьюировал Ивана из Positive Technologies, который чуть больше чем через месяц расскажет нам, почему 100% покрытие тестами это плохо. А сегодня я предлагаю вам почитать ответы его коллеги Артёма Малышева, который расскажет нам про Django Channels. Штуку, благодаря которой больше не нужно будет каждый второй проект начинать с развертывания и настройки Celery.
Что мне рассказал Артём?

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

Интервью с первым спикером Moscow Python

Время на прочтение3 мин
Количество просмотров5.7K
Организаторы Moscow Python Conf доверили мне поиск докладчиков и составление программы конференции. А программу я обычно составляю так, чтобы самому было интересно сходить. Подготовка конференции – дело интересное. Когда еще представится возможность взять интервью у других интеровертов-разработчиков? Наш первый герой Иван Цыганов из Positive Technologies. На конференции он выступит с провокационным докладом, в котором расскажет, почему 100% покрытии тестами – это плохо. Интригу, конечно, никто раскрывать не будет. Но ведь опытного разработчика, который выступает на конференциях, много о чем можно спросить, не так ли? Например, зачем он вообще выступает на конференциях и почему ему спокойно на диване не лежится.
Получить ответ на этот и другие провокационные вопросы

Пульт управления серверным демоном своими руками

Время на прочтение18 мин
Количество просмотров18K
Привет, Хабр!

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

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

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

PYCONRU-2016: видео всех докладов и презентации

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

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



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

Дорабатываем HTTP-кэширование в Django

Время на прочтение10 мин
Количество просмотров10K
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, что «явное лучше неявного».
Читать дальше →

Развёртывание Django 1.9 на IIS 7+

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

Предисловие


Всем привет!


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


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


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


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

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

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



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

PyCon Russia 2016: последние новости и финальная программа

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

Осталась неделя до четвертого российского PyConRu. Конференция пройдет 3-4 июля в 95 км от Москвы (до места проведения и обратно будет трансфер).

На PyConRu выступит Ben Nuttall из Raspberry Pi, мы сделали телеграм-бота, итоговая сетка с расписанием готова. Под катом — подробно про все последние новости. Этот пост будет полезен для тех, кто до сих пор думает, ехать ему на конференцию или нет.


Больше питонов на ноутбуках! Одна из наклеечек для PyConRu

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

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