Показаны сообщения с ярлыком flask. Показать все сообщения
Показаны сообщения с ярлыком flask. Показать все сообщения

вторник, 13 сентября 2011 г.

Python vs Ruby в Web

Являясь хоть и человеком не с огромным опытом за плечами, однако интересующийся web-технологиями, и работающим в этой области, то хотелось высказать свое мнение, в ответ на частый спор, или "холивор": Python vs Ruby. И в частности, я беру область именно веб-программирования и рынок веб-фреймворков. Здесь, я не хочу разглагольствовать, принимать чью-либо сторону из-за "православных" взглядов. Я просто хочу высказать свою точку зрения, и прошу не призывать меня к "холивору".
Тем, кому все таки моя точка зрения интересна, то прошу под кат.

пятница, 4 марта 2011 г.

Flask Tips - пред и пост обработка запроса на основе аргументов URL Rule

Проектируя дипломный проект, и разбираясь попутно в возможностях Flask и Werkzeug решил для себя небольшую задачку, и нашел удобные средства, которые могут решаться без применения middleware, на уровне приложения и модуля, что весьма удобно.

Объект Request в Flask, позволяет получить доступ к аргументам, полученным после парсинга URL. К примеру, у нас имеется Rule('/user/<username>'). При получении запроса, совпадающего с этим правилом, в request будет создан не пустой словарь request.view_args, который будет содержать аргументы для view. Но иногда, есть задачи, когда на основе этих аргументов требуется выполнять какую-то одну и ту же обработку в нескольких view, либо требуется, чтобы такая обработка была выполнена перед выполнением самого view, или возможно постобработка.

В Flask, приложение имеет возможность задать пост и пред обработчики, как уровня приложения, так и уровня модуля (если модули используются в приложении), и при последнем варианте, модуль может объявлять свои обработчики уровня приложения. Все они выполняются после создания объекта _RequestContext, объекты которого будут доступны, при запросе из в обработчиках. Это request, session, g и остальные. Поэтому, в обработчиках можно задействовать и request.view_args.

Рассмотрим на примере. Пример взят из моего дипломного проекта.

четверг, 3 марта 2011 г.

Немного впечатлений от MongoDB, и WSGI-инструментария, в ходе разработки дипломного проекта

На носу "госы". А я каждый день хожу с мыслями о дипломе, и как его сделать. Спасибо куратору, который, можно сказать, заразил сделать систему управления проектами.

Конечно, все не так просто на деле, и с такого масштабного уровня, я опустился на более приземленный. Всего лишь bug tracker.

По пути, пришлось решить множество задач, которые с одной стороны и далеки от самой разработки, с другой стороны, они решают практически все в разработке дипломного проекта, как ПО. Задачи были связаны с выбором инструментальных средств, и вообще того, на чем это все будет держаться и строится. Благодаря этому, приобрел много опыта и главное впечатлений, от пробы того или иного инструментария. В основном, это касалось выбора хранилища данных, и инструментария для построения WSGI-приложения (с Python и WSGI, я определился уже очень давно, так как нравится и язык, и сама идея WSGI, и имеющиеся на данный момент инструменты, позволяют быстро и легко создавать приложения, при этом не мучаясь с организацией приложения, как это происходит в PHP, к примеру).

В этом посте, не хочу говорить, как заправский разработчик, или знаток технологий (так как попросту таковым не являюсь), а лишь хочу поделиться своими личными впечатлениями.