Django. Создание таблиц в базе данных при помощи моделей

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

Django vs. RoR (не опять а снова)

Я читал и тут посты про выбор фреймфорков и на дргуих ресурсах, но не нашле нужного мне ответа.
Мои задачи:
— Админка с кучей JS эффектов как в squarespace
— Написания каких то простейших вещей аля форма обратной связи или подписку. Немного поясню… иногда приходится верстать 5ти старничный сайт-визитку без cms на котороый хотя бы форма обратной связи да нужна. Использавал ранее PHP-ешные готовые решения (сам на PHP не пишу). Но хочется свое, что бы можно было спокойно все изменять без проблем. Если я правильно понимаю то для того что бы написать хотя бы просутю форму обратной связи на питоне нужно кучу всего поднимать, вроде с рельсами тут по другому.

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

Пишем в django – публикуем в twitter

Доброго времени суток!
Появилась необходимость следующего характера: в движке на django, при публикации новости, чтоб создавался кросс-пост на twitter. Т.е. пишем новость, жмём сохранить и на твиттере появляется пост аля «Название статьи, bit.ly/s/ссылка_на_нашу_новость».

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

Тотальный пример использования django-registration и расширения модели User

В интернете есть много разрозненной информации о django-registration и о расширении стандартной модели Users. Однако, тотального примера, которое позволило бы новичку вникнуть как реализовать задуманную им логику регистрации нет. Я попробовал восполнить этот пробел.

Поставим себе следующие техническое задание:
  • Во время регистрации пользователь заполняет дополнительные поля.
  • При отправке формы — вся информация сохраняется в профайле, и на почту высылается письмо с ссылкой для активации.
  • При переходе по ссылке пользователь активирует свою учетную запись, автоматически авторизуется на сайте, и перенаправляется на определенную страницу.
Сразу отметим что по умолчанию django-registration не включает в себя сохранение дополнительных полей, и после активация записи приходится вводить свой логин и пароль для авторизации.

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

Доступ только к собственным записям из Django админки

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

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

Sentry — мониторинг ошибок в Django

Как Вы мониторите ошибки в своем Django проекте?

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

Таким же вариантом пользовались и мы, пока не открыли для себя Sentry.

image

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

TurnKey Linux — сервер для разработчика под ключ

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

Что это и зачем нам это?
Как нам ясно из перевода turnkey linux — это линукс под ключ, т.е. в нашем случае дистрибутив с интегрированным в него каким-либо сервисом или приложением, которое можно развернуть и начать работать за считанные минуты.
Вариантов применения такого дистрибутива великое множество: начиная от простого желания посмотреть то или иное приложение в живую перед развертыванием на боевом сервере и заканчивая использованием его в качестве сервера разработки, обкатки или даже как локального боевого сервера для небольшой компании.
Идея такого продукта не нова и TurnKey Linux не является монополистом на рынке, на хабре уже писали про довольно схожий проект BitNami. Поэтому мне бы хотелось рассказать подробнее про преимущества и возможности TurnKey Linux, так как в своей работе я выбрал именно его.


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

И снова Rails vs Django

Предисловие


За несколько лет успешной и не очень работы с различными Web-CMS у меня появилось непреодолимое желание научиться писать веб-проекты на более «высоком» уровне. Хотя технически все же правильнее будет сказать «на более низком». Крайне не хватало для реализации своих идей функционала известных движков. А разбираться в API и исходниках каждого (для написания расширений и модулей) мне показалось слишком муторным.

И тогда мой взгляд упал на веб-фреймворки. Конечно же, на наиболее популярные: Ruby on Rails, Django (Python) и php-шный Symphony. Желание изучать последний отпало почти сразу — когда работал в офисе, от коллеги-программиста, писавшего серверную часть проекта на связке Php+Symphony+Doctrine, слышал слишком много нецензурных слов.

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

Я попробовал. И то и то. По чуть-чуть, но с выбором быстро определился. Итак, Rails 3.0 против Django 1.2 по версии начинающего свой путь веб-программиста.


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