Friday, January 23, 2009

Django banał

Dziś pisałem przykładową aplikację, na której będę chciał pokazać jak wykorzystuje się luki w atakach XSS i CSRF. Chciałem to zrobić szybko i wybrałem Django, którego w ogóle nie znam.

Muszę przyznać, że jestem w szoku. Aplikację napisałem w trymiga, dokumentacja świetna, walidacja, formularze generują się same a modele posiadają metody idealnie do CRUDa. Najbardziej denerwują urls.py, które co nóż to trzeba uzupełniać. Formularze tworzyłem na bazie modeli i nie za bardzo wiedziałem też jak zrobić bez grzebania w klasie formularza (o ile to w ogóle możliwe), żeby pewne pole wyświetlało się w trybie readonly. Poza tym wszystko szło jak burza.

Szczerze mówiąc framework szalenie przyśpiesza tworzenie aplikacji. Dzięki temu, że nie trzeba dokładać do niego kolejnych modułów skupiam się na pisaniu aplikacji nie zaś na szukaniu rozwiązań, które po prostu były podane jak na dłoni w świetnej moim zdaniem dokumentacji.

Programowało mi się przez tą chwilę znacznie lepiej, szybciej, wygodniej i przyjemniej niż w Pylons, w którym wszystko musiałem robić sam. W Django nie widać na przykład żadnych transakcji (jeżeli nie chce się ich mieć), klasy posiadają metody - nie trzeba korzystać jawnie z jakiegoś meta.Session, gdzie w Pylons musisz sobie samemu (choć to tylko chwilka) zrobić takie cudo.

Brakowało mi tylko dekoratora do walidacji formularzy, żeby wyrzucić oczywisty kod na zewnątrz metody i nie zaśmiecać jej sprawdzaniem czy formularz się zwalidował ale napisanie go to pewnie sekundka.

Nie będę się jednak uczył tego frameworka - na ile mi potrzeba już go umiem :] Po Pylons (gdy skończę pisać projekt, który w nim zacząłem) przyjdzie czas na naukę Rubego :P

No comments: