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

Django *

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

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

Обновление Django с версии 1.9 до версии 2.0

Время на прочтение3 мин
Количество просмотров12K
Здравствуйте, сегодня я хотел бы вам рассказать о том, как обновить проект с версии 1.9 до 2.0. Какие основные нюансы нужно учесть и переписать, дабы проект стартовал на новой версии Django.

Первый шаг


Это обновление Django до версии 2.0, а также обновление всех сопутствующих ваших пакетов, которые используются в проекте, т.к. я использую виртуальное окружение и requirements.txt, то для меня это один способ, для вас может быть другой.

После того как вы обновили все пакеты, не стоит запускать проект, он всё равно не запустится, поэтому сразу приступим к исправлению всех основных моментов, дабы проект стартанул.
Читать дальше →

В объятьях Питона (только для женщин)

Время на прочтение6 мин
Количество просмотров37K
Я, как всегда, никуда не собиралась, когда в новостной ленте «ВКонтакте» вдруг увидела сообщение, что завтра последний день подачи заявок на Django Girls в Санкт-Петербурге — мастер-класс по программированию на Python для женщин. Обычно я читаю такие сообщения, когда регистрация на мероприятие уже закрыта. У меня особое везение на такие дела — узнать о событии на следующий день после его завершения. Поэтому, когда я поняла, что появилась реальная возможность попасть на бесплатный тренинг по Python, то быстро заполнила заявку, на всякий случай забронировала отель и стала ждать.

Мне кажется, я сразу знала, что меня примут, иначе как объяснить, что я проморгала аналогичное событие в Москве месяцем раньше и попала именно в Санкт-Петербурге! Можно ли придумать лучшее время для поездки: лето и белые ночи, чемпионат мира с возможностью посетить фан-зону на Конюшенной площади, знакомство с IT-сообществом Django Girls и офисом Wargaming, и под занавес праздник «Алые паруса»!
Читать дальше →

Программа PYCON RUSSIA готова: 25 докладов и 3 воркшопа от спикеров из Google, Red Hat, Yelp, Яндекса

Время на прочтение8 мин
Количество просмотров3.1K
Осталось чуть меньше двух недель до шестого российского PyConRu. Конференция пройдет 22-23 июля в отеле «Cronwell Яхонты Таруса» в 95 км от Москвы (до места проведения и обратно будет трансфер).

Сейчас в программе 25 докладов и 3 воркшопа. Кроме этого, впервые в России мы проведем Core Development Panel. Три Python Core Developer-а: Юрий Селиванов (EdgeDB, Канада), Андрей Светлов (aiohttp, Украина) и Christian Heimes (Red Hat, Германия) ответят на любые вопросы из зала: про будущее python, про проблемы, сообщество и все, что вас интересует. В общем, готовьте вопросы, будет интересно!

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


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

Создание management commands в Django

Время на прочтение5 мин
Количество просмотров58K
Management commands — команды, выполняемые из командной строки с помощью скрипта manage.py.

Наиболее частые сферы применения — это действия, выполняемые разово или периодически, но для которых почему-либо недоступен запуск через планировщик. Например, отправка пользователям разовых сообщений, получение выборки данных из БД, проверка наличия необходимых файлов и папок перед накатыванием обновлений, быстрое создание объектов модели при разработке и т.д.
Читать дальше →

Предварительная программа PyConRu-2018: три Python Core Developer’а, докладчики из Google, Yelp, Red Hat, Яндекса

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

22-23 июля в 95 км. от Москвы пройдет шестая российская конференция для python-программистов PYCON RUSSIA 2018.

Уже в программе: Юрий Селиванов (Python Core Developer, EdgeDB, Канада), Андрей Светлов (Python Core Developer, Украина), Christian Heimes (Python Core Developer, Red Hat, Германия), Melanie Warrick (Google, США), Stephan Jaensch (Yelp, Германия), Kate Heddleston (Shift, США), Alejandro Saucedo (Eigen Technologies, Великобритания), Вадим Пуштаев (Mail.Ru), Марина Камалова (Яндекс). Если вы хотите присоединиться в качестве спикера, есть еще несколько дней, чтобы заявиться с докладом. Под катом — подробности программы.


Если вы не знаете, что такое PyConRu, вот маленький ролик о том, как прошла прошлогодняя конференция
Читать дальше →

PYCON RUSSIA 2018 пройдёт 22-23 июля. Save the date

Время на прочтение4 мин
Количество просмотров1.7K
Python-разработчики, внимание: шестой российский PyCon пройдёт 22-23 июля в отеле «Cronwell Яхонты Таруса» в 95 км. от Москвы. Доклады будут идти в два потока, плюс мастер-классы, Lightning Talks и афтепати.

Если вы не знаете, что такое PyCon Russia, посмотрите маленький ролик ниже — в нём коротко о том, как прошёл PyConRu-2017.


В прошлом году у нас выступили Paul Hildebrandt (Walt Disney Animation Studios, США), Łukasz Langa (Facebook, США), Nina Zakharenko (Venmo, США), Maciej Fijałkowski (PyPy, ЮАР), Андрей Степанов (Тинькофф Банк), Александр Кошкин (Positive Technologies), Кирилл Борисов (Яндекс), Елизавета Шашкова (JetBrains), Михаил Юматов (ЦИАН), Олег Чуркин (Rambler&Co) и ещё 16 крутейших спикеров. Все видео прошлогодних докладов можно посмотреть на нашем YouTube-канале.

Регистрация для участников открыта. Early Bird билеты стоят от 15000 рублей. А до 12 июня мы принимаем заявки на доклады. Под катом все подробности.
Читать дальше →

Автоматизация криптоторговли с Django и Celery

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

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


Trade

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

Несколько советов по организации Python-приложения на сервере

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


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


Я работаю, в основном, с Python/Django стеком, поэтому все примеры будут, в первую очередь, применительно к этому набору. Также ключевые технологии: Ubuntu (17.10), Python3 (3.6).


Содержание:


  • Логи (logrotate)
  • Демоны (systemd)
  • локальные настройки
Читать дальше →

Поговорим о юзернеймах

Время на прочтение12 мин
Количество просмотров15K
Пару недель назад я выпустил django-registration 2.4.1. Сборки 2.4.x станут последними в версии django-registration 2.x, дальше будут выходить только исправления багов. Основная ветка сейчас готовится к версии 3.0, откуда планируется удалить кучу устаревшего хлама, накопившегося за последнее десятилетие поддержки, и я постараюсь учесть лучшие практики современных приложений Django.

В ближайшее время напишу подробнее о новой версии, но именно сейчас хочу немного поговорить об обманчиво простой проблеме, с которой приходится иметь дело. Это имена пользователей. Да, я мог бы написать одну из популярных статеек типа «Заблуждения программистов об X», но всё-таки предпочитаю реально объяснить, почему это сложнее, чем кажется, и предложить некоторые советы, как решить проблему. А не просто стебаться без полезного контекста.
Читать дальше →

Авторизация пользователя на вашем сайте через Telegram для Django

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

Привет! 6 февраля Telegram ввел возможность добавлять на свой сайт виджет для авторизации пользователя через его аккаунт в Telegram. Виджеты по виду реализации на сервере делятся на два вида — обработать данные пользователя «здесь и сейчас» в JavaScript или же перенаправить данные в параметрах URL на указанный адрес. Также саму кнопку можно настроить внешне: изменять размер, закругление углов, отключать и включать фотографию.

Материал — руководство по настройке авторизации пользователя через Telegram-аккаунт на вашем сайте с помощью пакета django-telegram-login.
Читать дальше →

Telegram бот для сложных квестов

Время на прочтение5 мин
Количество просмотров30K
«В чем же заключается преимущество?» — спросите вы, ну все дело в том, что в нем можно построить логику примерно из следующих выражений:

– Пользователь на шаге N?
– Сообщение содержит изображение и смайлик?
– Текст подходит под регулярное выражению «I am [a-zA-Z]+»?
– Время получения раньше/позже заданного?
– Это было нажатие на клавиатуре/обычное сообщение/inline-кнопка?


Большинство из этих правил могут быть в зависимости друг от друга, но об этом чуть позже.

Для начала, о чем я хочу рассказать:

  1. Об идее проекта – зачем я это сделал, какие есть аналоги, но почему мне они не нравятся.
  2. Архитектурных решениях, какие возникли трудности, как были решены.
  3. Что получилось в итоге и стоило ли оно того, дальнейшее развитие.
Читать дальше →

Оптимизация стадии инициализации Django

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

Если у вас Django проект работает на синхронных воркерах и вы периодически их перезапускаете (например, в gunicorn это опция --max-requests), полезно было бы знать, что по-умолчанию после каждого перезапуска воркера, первый запрос к нему обрабатывается гораздо дольше, чем последующие.


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

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

Python Meetup 14.11.2017: Python в Порту, Aiohttp и снова тесты

Время на прочтение1 мин
Количество просмотров5K
Всем привет! После долгого перерыва, блудная питоновка снова в деле! 14 ноября состаялась очередная встреча минского сообщества Python-разработичков Python Meetup. В этот раз доклады представили:

— Как я нечаянно стал главным по питону в Порту / Роман Иманкулов, Doist
— The test which will save your day / Иван Стяжкин, DataRobot
— Django и Aiohttp / Юлия Темушева, Wargaming
— Блицдоклад: распространенные ошибки программирования на Python / Юрий Красовский

Записи выступлений вы найдете под катом.


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

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

Запускаем django-приложение в Docker на Vagrant под Windows

Время на прочтение4 мин
Количество просмотров12K
Привет Хабр! Несколько лет я находился в readonly-режиме на сайте Хабрахабр, изредка оставляя комментарии к чужим публикациям, и за несколько недель до нового года, мне захотелось поменять это положение вещей. Этому послужило мое недавнее задание на работе. А когда начал искать информацию, понял, что ее, как всегда, много, написано запутанно и не то что мне хотелось бы найти. А как быть, если этот человек новичок в этом вопросе? Вот и решил попробовать себя на этом поприще. Сделать туториал, который был бы полезен мне в первую очередь.

Поехали.
Читать дальше →

Обзор литературы по языку Python для начинающих

Время на прочтение4 мин
Количество просмотров132K
Очень часто можно увидеть вопросы на том же тостере: «А какую книгу взять книгу, чтобы выучить технологи Х», и естественно в комментариях идет большое число мнений и большое число различных книг. В данной теме, я сделаю обзор самых популярных книг по Python для начинающих программистов, и дам четкое мнение – нужно ли их читать или нет (субъективно).

Нужно ли читать книги. Изучая новые технологии, я люблю читать книги по данной технологии, так как я получаю не только сухую информацию, но и субъективное мнение автора по пригодности данных технологий. И в отличие от видео-курсов, мне не приходится ждать, пока автор из себя выдавливает мысль. Да и читаю, я быстро.
Читать дальше →

Как быстро настроить email-аутентификацию в Django

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

Всем привет!


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


Когда мне понадобилось реализовать этот функционал, оказалось что существует не так много туториалов, особенно на русском, в которых бы описывалось как сделать регистрацию по email, отправку верифицирующего письма, сброс пароля и другие, в общем то вполне обычные вещи.
Я решил исправить эту несправедливость.


Django

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

Гибкая система управления доступом на уровне объектов-записей

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

Привет всем!


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


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


Для наиболее дотошных, далее приведены детали устройства системы, ее внутренней логики и порядка обращения с ней.

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

Расширяем и используем Flatpages в Django. Встраиваем CKEditor

Время на прочтение6 мин
Количество просмотров14K
Здравствуйте, сегодня я хотел бы вам рассказать о том, как сделать модель, которая хранит в себе обычные страницы, а не отдельные записи в базе данных (для ListView, TemplateView и тд). Речь пойдёт о том, как расширить и дополнить существующие в Django flatpages. Но хотелось бы рассказать о проблеме, с которой я столкнулся и почему решил поделиться данным функционалом. Часто возникает ситуация, когда в админке для администратора сайта нужно реализовать функционал самой обычной страницы (одна запись в БД – это одна страница, где прописывается url, контент и доп. инфа для конкретной страницы). Тем самым можно создавать прямо из админки новые страницы с любым url и контентом.
Читать дальше →

Поиск решения для быстрого создания интерфейсов СУБД

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

Практически каждый человек сталкивается с ведением какого-либо учета, сбором и анализом данных: от использования таблиц в экселе до работы с данными в клиент-банковском приложении. Повсеместно для такого учета используются различные системы управления базами данных (СУБД).


В статье я хотел бы рассказать о своем пути поиска такой системы.

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

Django ORM — медленный? Оптимизируем (хардкорно)

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

Наступила осень, и, несмотря на хорошую погоду, наши зрители потянулись за новым видеоконтентом. Бекенд-серверы, обслуживающие эмбеды с видео, стали упираться в CPU. С криками "а-а-а" прибежали системные администраторы и начали отбирать у отдела разработки ноутбуки и десктопы, грозясь поставить их в датацентры "на усиление". Разработке это конечно всё не понравилось и все поувольнялись с этой хренью решили что-нибудь сделать.

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

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