Django jest pisane w pythonie, python jak każdy porządny język obsługuje testy jednostkowe. A więc Django również. Dzisiaj przedstawię po krótce jak wygląda sprawa z testami w Django. Rozprawkę oprę o unittesty z tego prostego powodu, że podobają mi się bardziej niż doctesty. Nie znaczy to, że są lepsze po prostu służą do testowania innych przypadków, nie są pythonic ale ładnie obiektowe i ja je wolę po prostu.
Continue reading ‘django: unittest’
Archive for the 'programowanie' Category
Piszesz aplikację w django, wysyłasz na serwer i musisz zmienić settings.py aby dostosowane były do wersji produkcyjnej. I tak za każdym razem, kiedy coś zmieniasz. Dodatkowo kod utrzymywany jest w systemie kontroli wersji i nie chcesz aby hasła były dostępne publicznie. Sprawa wydaje się skomplikowana ale tylko wydaje a rozwiązań jest sporo. Ja zaprezentuję to które ja wybrałem, a może nawet wymyśliłem, bo jest ono sumą paru rozwiązań. Przyznaję, że nie jest doskonałe ale przynajmniej nie muszę ręcznie zmieniać ścieżek ani danych dostępowych do bazy danych.
Continue reading ‘django: settings.py aplikacji w trybie devel i production’
Więc używasz systemu kontroli wersji, wysyłasz zmiany na serwer, pobierasz poprawki, inne branche, a wszystko to z podaniem hasła. I wreszcie trafia Cię szlag. Pomimo tego, że wpisanie hasła (po 10000 prób) zajmuje Ci mniej niż 1s jest to zmarnowana sekunda. Skoro używasz vcs czy dvcs to znaczy, że szanujesz swój czas a wpisywanie hasła w takich ilościach jest nieekonomiczne i należy to zmienić.
Continue reading ‘Z warsztatu kodera: po co te hasła?’
Bazaar jest w porządku, a skoro jest to należy go używać. Nie musi to być super przyjemne jeśli masz swój kod na serwerze i tam wysyłasz zmiany. Nie piszę o Launchpadzie tylko o własnym serwerze np: z dostępem ftp. Uciążliwym jest po każdym commicie logowanie przez ssh i odpalanie bzr up. Już pisałem jaki fajny jest bazaar? A to dlatego, że posiada pluginy. Z odsieczą programistom idzie plugin, którego nazwa jest w tytule posta a mianowicie push-and-update. Jak działa? Po każdym poleceniu push, sprawdza czy na serwerze znajduje się branch wymagający wykonania polecenia bzr up i jeśli tak to loguje się przez ssh aby je wykonać. Proste i skuteczne. Instalacja jest równie prosta, wszystkie informacje można znaleźć tutaj, a dla leniwych poniżej podaję przepis na instalację na koncie użytkownika.
bzr branch lp:bzr-push-and-update ~/.bazaar/plugins/push_and_update
Po commicie wystarczy bzr push. Uciążliwe może się stać wklepywanie haseł, ale jest to lepsze niż przeglądanie historii poleceń konsoli lub wpisywanie litanii ssh looser@serwer… od nowa.
Zapewne słyszeliście o django-extensions, jeśli nie to możecie przeczytać a nawet usłyszeć i obejrzeć co nie co: tutaj po polsku, tutaj po angielsku (stara strona, aktualnie kod na github, ale przynajmniej jest tutaj treść w postaci html. Github posiada tylko pliki z dokumentacją) a w tym miejscu screencast po angielsku. Ja szczerze mówiąc o aplikacji dowiedziałem się niedawno i po prostu nie mogę uwierzyć jak ja mogłem bez tego żyć! Teraz nie mogę.
Wspominam o samym django-extensions z jednego powodu, nie po to aby się pochwalić, ale aby poinformować, że od dzisiaj paczka rpm jest w zewnętrznym repo http://baseroot.info/. Kod jest świeży, prosto z github`a. Repo instalujemy
su -c 'cd /etc/yum.repos.d/ && wget baseroot.info/devilish.repo'
A potem już tradycyjnie
sudo yum install django-extensions
.
Następnie dodajemy django-extensions do pliku settings i jazda. Podpowiem jedną komendę
./manage.py shell_plus
Resztę można odnaleźć w dokumentacji, do której odsyłam.
Pokój.
Jestem fanem Django. Obiecałem, że opiszę jak odpicować aplikację zrobioną przy użyciu Django. Dzisiaj opiszę jak zaimplementować ajax przy użyciu Dajax (abstrahując to ich logo jest naprawdę dobre). Przechodzimy do rzeczy, opisane krok po kroku jak zainstalować i zaimplementować. Continue reading ‘Dajax odpicuje Django!’
Siedzę nad dużą aktualizacją mojego amatorskiego projektu www.gdziebylkaziu.pl i zaplanowałem sobie dorzucić trochę ajaxa do map google. Szperając po internecie znalazłem http://dajaxproject.com i zakochałem się, dzięki temu mogę wszystkie proste funkcjonalności ajax napisać w … pythonie!
Cieszę się ponieważ pomimo tego, że javascript jest ok to wolę pythona, oj wolę. Przechodzimy do rzeczy. Ostrzegam rozwiązanie jest banalne i pewnie wiele osób na to wpadło. Continue reading ‘Dajax i jquery 1.4.2′
Najnowsze komentarze