Tag Archive for 'django'

django: unittest

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’

django: settings.py aplikacji w trybie devel i production

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’

django-extensions w repo devilish

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.

Dajax odpicuje Django!

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!’

Dajax i jquery 1.4.2

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′

Django i ajax

W mojej nowej pracy, pracuję tam 6 miesięcy to już nie jest tak nowa, dużo się uczę i dużo koduję. Między innymi używam sławnego jquery i ajaxa. Postanowiłem dołożyć obie rzeczy do django aby wszystko ładnie pięknie ze sobą współgrało. Założenie było proste, pewne elementy strony mają być dynamicznie odświeżane. W moim projekcie wyświetlam statystyki na stronie głównej używając właśnie ajaxa i jquery aby były one w miarę aktualne (w czasie rzeczywistym można rzec).
Continue reading ‘Django i ajax’

Poprawiamy google app engine helper for Django.

Pojawiła się nowa wersja Google App Engine SDK, wersja 1.3.1 – 2010-02-10. W wypadku używania Google App Engine Helper for Django w wersji r100 i wyżej wymienionego SDK pojawia się błąd podczas startu serwera.

import ipaddr
ImportError: No module named ipaddr
Rozwiązanie tego problemu jest proste, należy poprawić plik __init__.py w katalogu z kodem helpera. Znajdujemy fragment
EXTRA_PATHS = [
SDK_PATH,
os.path.join(SDK_PATH, 'lib', 'antlr3'),
os.path.join(SDK_PATH, 'lib', 'django'),
os.path.join(SDK_PATH, 'lib', 'webob'),
os.path.join(SDK_PATH, 'lib', 'yaml', 'lib'),
]
Po czym dodajemy linijkę aby wyglądał tak
EXTRA_PATHS = [
SDK_PATH,
os.path.join(SDK_PATH, 'lib', 'antlr3'),
os.path.join(SDK_PATH, 'lib', 'django'),
os.path.join(SDK_PATH, 'lib', 'ipaddr'),
os.path.join(SDK_PATH, 'lib', 'webob'),
os.path.join(SDK_PATH, 'lib', 'yaml', 'lib'),
]
Ma to być poprawione w nowej wersji helpera r102 ale ja jej jeszcze nie znalazłem a z svn nie chciałem pobierać. Chętnych zapraszam

svn checkout http://google-app-engine-django.googlecode.com/svn/trunk/ google-app-engine-django-read-only