Python

Dodanie unikalnej kolumny do istniejącej tabeli w Django

Czasami zachodzi potrzeba dodania nowej, unikalnej kolumny do istniejącego już modelu w Django. Niestety jeśli w tabelce istnieją już wpisy, otrzymamy błąd. W takim przypadku, dodanie nowej kolumny należy podzielić na 3 kroki. Stworzenie kolumny bez indeksu unikalnego, wygenerowanie unikalnych wartości, dodanie indeksu. Możemy to osiągnąć, za pomocą standardowego mechanizmu migracji, który znajduje się w… Czytaj więcej »Dodanie unikalnej kolumny do istniejącej tabeli w Django

Django – manage.py i niestandardowe polecenia

Czasami potrzebujemy wykonać jakieś proste, powtarzalne czynności, które można łatwo zautomatyzować. Django posiada mechanizm, który umożliwia dodawanie nowych komend uruchamianych przez manage.py. Wywołanie komendy będzie miało postać:

./manage.py customcommand --with-parameter

Dodatkowo możemy w ten sposób zaprogramować jakieś zadania uruchamiane cyklicznie poprzez crona. Dzięki temu nie musimy wywoływać adresu url, tylko uruchamiamy polecenie z linii komend.

Czytaj więcej »Django – manage.py i niestandardowe polecenia

Testy w Django z użyciem Selenium

Tworząc nawet najprostszą aplikację, bardzo szybko dochodzimy do momentu, w którym „przeklikanie” głównych ścieżek w aplikacji zaczyna być bardzo czasochłonne i nużące. Wprowadzenie nowych funkcji zaczyna być irytujące. Jest to szczególnie uciążliwe w interpretowanych językach, gdzie informację o ewentualnych błędach dostajemy dopiero po wejściu na stronę lub wykonaniu jakiejś akcji.

Kolejnym problemem jest gdy mamy do przejścia jakiś dłuższy scenariusz, aby sprawdzić jakąś funkcjonalność. Po kilku przejściach i rosnącym zdenerwowaniu, gdy funkcjonalność wciąż nie chce działać, sprawia, że pomijamy część elementów, które mogą mieć wpływ na działanie (lub niedziałanie). Takie scenariusze możemy mnożyć dowolnie. Dlatego warto zastanowić się nad zautomatyzowaniem takich powtarzalnych czynności. Do tego świetnie nadaje się biblioteka Selenium, która bardzo ułatwia testowanie z użyciem prawdziwej przeglądarki.

Czytaj więcej »Testy w Django z użyciem Selenium