Анатолий Ларин

Блог о разработке и разработчике

Category: Программирование

Jenkins – Continuous Integration для Django проектов

Интро Писать или не писать тесты? Для меня и моих коллег даже вопрос так не стоит. Конечно писАть! Однако, с появлением тестов и увеличением команды разработки, появляется одна проблема – “забыл запустить тесты“. Проекты в основном на python & Django и для автоматизации можно написать bash-скрипт и запускать его по cron. Можно воспользоваться сервисами, например: https://travis-ci.com/. [...]

Django 1.x & form_for_model

Интро Давным-давно, когда деревья были большими, “джанга”  маленькой, а формы “новыми”, существовала такая функция: form_for_model. И на основе этой функции был даже создан сниппет, позволяющий динамический создавать форму по модели и менять “на лету” свойства созданной формы. Однако, начиная с версии Django 1.0 данная функциональность была помечена как “deprecated” и уже в 1.0 beta 1 [...]

Роботы

Интро Неделю назад решил установить на блог счетчик-пузомерку – FeedBurner. И я был приятно удивлен, что на мои статьи подписано более двухсот человек! Спасибо, вам, коллеги! Спасибо за то, что уделяете внимание моим статьям и иногда активно комментируете. Кстати, о комментриях и фидбэке. До этого, практически, все мои статьи заканчивались решением той или иной задачи. [...]

Django 1.2.1 и load_related_m2m

Интро Думаю, многие из нас занимались оптимизацие загрузки данных из полей ManyToManyField. Задача для оптимизации проста: есть коллекция объектов с некоторым полем (полями) М2М. Необходимо выбрать данные для поля М2М одним запросом, т.е. не выполнять для каждого объекта из коллекции отдельный запрос, по загрузке однотипных данных. Думаю, многие для этого писали собственные функции, я же [...]

Django widget calendar

Интро В одном проекте, мне понадобился визуальный календарик. Брать “сторонние” разработки не хотелось, т.к. хороший календарик уже есть в админке Django. Осталось только его достать ) Легко? Достать календарик проще простого: from django import forms from django.contrib.admin.widgets import AdminDateWidget class TestForm(forms.Form): datefrom = forms.DateTimeField(label=’Дата’, widget=AdminDateWidget) Выглядит все просто и логично. Но, к сожалению этого не [...]