среда, 25 марта 2009 г.

Метод избавления от рутинных задач в Django

Вебразработка очень часто навевает скуку на людей, которые ей занимаются. Ведь, несмотря на всю увлекательность и прелесть интернета, очень много вещей повторяется из раза в раз. Для пользователя это скорей плюс, т.к. не надо каждый раз выяснять, какие ссылки нажимать и т.д. Но вот для программиста это становится очень утомительно, когда приходится писать не первый десяток одинаковых формочек, списков объектов и т.п., которые очень похожи и отличаются лишь небольшими ньюансами. Получается, что разработчик теряет мотивацию, начинает допускать ошибки, ни просто его время расходуется на практически совершенно тупые по своей сути действия. Но прагматичные программисты понимают, что с этим надо бороться и провозглашают одним из основых принципов - DRY, т.е. Don't Repeat Yourself (кстати в вышеуказанной книге этому посвящена глава 2.1 The Evils of Duplication). И авторы Django с этим вполне солидарны.
Скажем, меня всегда утомляло дублирование разных аспектов обработки форм:
  • для начала надо иметь html, который будет их отображать;
  • потом надо обработать информацию, полученную как результат POST-запроса, в частности сделать валидацию;
  • проверенные данные надо "запихать" в БД;
  • если валидация данных не была успешна, то надо отобразить снова ту же форму, сохранив данные, которые были введены пользователем.
Кроме этого можно ещё упомянуть обобщённые виды (generic views), переиспользуемые приложения (как в составе самого фреймворка, так и большое количество сторонних), блоки и тэги для шаблонов и, наверное, это ещё не всё.
Ну и, я уверен, тут не обошлось без влияния The Zen Of Python :)
В целом, если Вы хотите автоматизировать нудные типовые задачи вебразработки и больше времени посвятить сути вашег крутого сайта, то Django может оказать Вам в этом неплохую помощь.

1 комментарий: