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

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

Tag: python

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 [...]

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) Выглядит все просто и логично. Но, к сожалению этого не [...]

Django & Cron

Интро В предыдущей статье я описывал как выкладывать Django-проект на сервер и можно сказать попутно выкладывал. =) Но на этом мои “мучения” не закончились – оказалось, что я не знаю как прикрутить вызовы частей приложения по Cron. Погуглив и почитав, решение нашлось… и оно оказалось намного приятнее решения на php ;) Решение В корневой директории [...]