Одним из самых значимых событий в мире python на прошлой неделе можно назвать, конечно, выход IPython 4.0 - первый крупный релиз после разделения программы на компоненты - часть из которых (notebook, qtconsole и т. п.) теперь выделены в автономный проект Jupyter. В сумме с релизами Docker 1.8 и RethinkDB 2.1, а также очень популярной резалки изображений для Django sorl-thumbnail, неделю можно назвать довольно продуктивной.
Все новости недели доступны по ссылке http://pythondigest.ru/issue/86/
Мы с вами разберём основные теги html форм в целом. Формы тема довольно сложная. Но когда вы увидим, как всю рутину Джанго делает за нас, работа с формами становится очень простой и понятной.
Давайте начнём с самого начало изучение форм.
И шаг за шагом изучим весь механизм форм в Django.
Рассмотрены основные принципы планирования продаж с доказательствами получения результата. Курс длинноваты, найди время, ты не останешься прежним.
Система построена с учётом опыта, который накапливался с 2008 года. Далее по этой системы мы будем получать продажи с сайтов сделанных на Django.
Получение продаж 100% с разрабтываемого сайта, так как это естественный процесс. Кстати о продажах мы говорили только в последнем уроке, а все другие уроки рассматривали почему люди будут покупать.
Система на зависит от времени и не стареет, так как содержит принципы, которые построены на потребностях и контенте.
АБСОЛЮТНО все делал так, как делалось в учебнике djbook.ru
НО при моменте
p = Poll(question="What's new?", pub_date=timezone.now())
у меня вылетает ошибка :expected string or buffer
Конечно, можно опустить момент с датой, но для обучения и дальнейшей практики нужно разобраться!
Заранее спасибо
Друзья, в прошлом году я присутствовал на американском хакатоне, который проходил в Сан-Франциско, назывался он AngelHack. Как заявляли в то время организаторы, это самый масштабный хакатон в мире.
Тогда их подход, да и сами ребята, мне очень понравились, поэтому я предложил им провести такой же хакатон в России.
Пару месяцев назад мне позвонил их директор и предложил таки организовать один из этапов хакатона в Москве.
Поэтому, я хотел бы пригласить вас поучаствовать в этом мероприятии, мне очень нравится идея проведения как можно большего количества интересных соревнований и мероприятий для программистов, которые не скучные и нудные, а которые позволят весело провести время и закодить свои идеи.
AngelHack – это крупнейший в мире хакатон, который пройдет в 30 городах мира и объединит 6,000 разработчиков, дизайнеров и предпринимателей. В рамках хакатона участники общаются, обучаются новым технологиям, весело проводят время, а главное разрабатывают свои инновационные идеи.
Условия:
Вы можете прийти с готовой командой.
Вы можете прийти без команды, но с идеей. У вас будет возможность собрать свою команду прямо на хакатоне.
Вы можете прийти без идеи, но с желанием сделать классный продукт. Вы сможете присоединиться к людям с идеями.
Вы можете использовать любой язык программирования, обычно на хакатоне разрабатывают мобильные приложения или веб-сервисы, дизайн можно подготовить заранее.
У вас будет 2 дня и вся ночь для того, чтобы сделать прототип вашего сервиса и защитить его перед нашими экспертами. В судейский совет войдут бизнес ангелы, представители крупных венчурных фондов, крупные медиа и менторы.
Для вас мы обеспечиваем еду на все 2 дня и ночь, безлимитный Red Bull, кофе, пиво.
Регистрация: [url]http://www.angelhack.ru[/url]
Готов ответить на все вопросы в топике или в личку.
P.S. Специально для форумчан я сделал промо-код на скидку, приходите сами, зовите с собой друзей. hackmonkey
Как я научился ненавидеть Django
Здравствуйте.
Попытаюсь формализовать то, что меня постоянно раздражает в Django и заставляет придумывать разнообразные велосипеды и подключать кучу батареек только для того, чтобы сделать работу на данном фреймворке более удобной.
Общепринято, что любой web-фреймворк состоит из следующих компонентов:
Роутинг
Шаблонизатор
Формы
ORM (если это не микро фреймворк)
Работа с протоколом HTTP на уровне запроса и ответа
Разнообразные утилиты
Заранее оговорюсь, что Dango мне очень нравится, если бы не следующее…
1. Роутинг
Представляет из себя стрельбу из пушки по воробьям в виде регулярных выражений. Понятно что с помощью них можно решать ряд нетривиальных задач, но абсолютно нельзя решить то, что дествительно требуется в роутинге. Это такие вещи как автоматическое извлечение данных (например инстанса модели по ее идентификатору), действительно точная валидация данных (а не только знание того, что в параметре будут только цифры).
Примеры батареек для улучшения работы с роутингом: django-hosts, routr.
2. Шаблонизатор
Шаблонизатор отличается такой килл фичей котрая постоянно раздражает, это написание шаблонных тегов на каждый чих. А также отсутствие обычных выражений, отсутствие обращения к словарю по ключу находящемуся в переменной, отсутствие вызова функции с параметром (без параметра можно), отсутсвие макросов, невозможность определить переменную, только один параметр в фильтре и т.д.
Хорошо хоть недавно появилась конструкция elif.
Как это можно решить? Заменить шаблонизатор на Jijna 2 (благо с появлением CBV это очень просто).
Батарейки: django-jinja, coffin.
3. Формы
Они просто нарушают MVC. Для того чтобы определить, например, css класс для поля, нужно передать его в виджет. Не будем же мы заставлять дизайнера править код? Отсутствие FormField делает жизнь еще веселее. Доставляет clean_fieldname который не видит полей, перечисленных позже него.
Как это можно решить? Использовать те же WTForms.
4. ORM
До сих пор не могу понять, как делается left join и как мне явно указать какой join делать.
Ужасное наследование моделей. Из мелочей: отсутствие join по разным базам, невозможность создать модель без первичного ключа. Наконец то появится index_together.
Как это можно решить? Использовать ту же peewee.
5. Работа с протоколом HTTP
Отсутствие необходимых исключений (в том же WebOb любой HTTP ответ является в том числе и исключением). Неудобное обращений к заголовкам, нвозможность стандартно парсить uri, очень непонятно как получить тело запроса в первоначальном виде и т.д.
Как это можно решить? Использовать тот же WebOb.
Если все это сделать, что тогда останется от django кроме админки?
Как это можно решить? Поставить flask-peewee.
Спасибо за внимание.
Доброго времени суток, друзья!
Сегодня я расскажу о очень крутой возможности Django — сигналах.
Сперва немного теории.
Когда в Django происходит некоторое событие (к примеру, в модель были записаны данные) Django генерирует signal (на самом деле — несколько сигналов. Во время иницилизации, перед записью данных, после записи и т.д.). Эти сигналы можно «ловить» и выполнять любые действия.
Давай разберём работу сигналов на примере.
Здравствуйте, друзья!
Порой встают задачи, когда нужно выполнять некоторые задания в фоновом режиме и получать результат их выполнения. Иногда задачи требуется распределять между серверами, но ещё чаще их необходимо ставить в очередь.
Для этого, и много другого существует замечательный проект Celery. Он позволяет без особого труда превращать обычные функции в т.н. tasks.
Оригинальная статья "Centralized Logging with Sentry" рассказывает о приложении Sentry которая заменяет стандартный механизм сообщений об ошибках которые приходят на почту в случае каких-то проблем с Django-проектом.
Активно шумящий сейчас в СМИ проект Instagram, приложение для iOS и Android для обмена фотографиями с друзьями, приобретенное Facebook за 1 млрд долларов, разработан на Python и Django. Хотите узнать подробности его архитектуры и технического развития?
Читать дальше