Wszystko na temat: django

Nietrywialne selektory w jQuery na przykładzie Django i formsetów

Data publikacji: 2016-02-02 | Programowanie

Selektory typu $('#id') lub $('div.klasa') są bardzo wygodne - to fakt. Jednak co zrobić kiedy nie spełniają naszych wymagań, bo są zbyt ogólne, bo nie damy rady wyłuskać tego, czego potrzebujemy?

Na przykładzie formsetów Django pokażę, jak stosować bardziej szczegółową metodę dobierania elementów z dokumentu.

więcej...


Projekt Django i status replikacji mysql slave

Data publikacji: 2015-08-25 | Administrowanie

W przypadku projektów Django pracuję głównie z trzema bazami - jeden master, a za nim dwa slave, replikujące go tak szybko, jak się da. Jednak czasem nie jest to dość szybko i trzeba zgłosić administratorom problem z replikacją.

Pytanie tylko jak określić, że problem tkwi właśnie w replikacji?

więcej...


Otwieranie w vimie pliku do edycji z katalogu, w którym edytujemy już inny plik

Data publikacji: 2015-05-19 | Programowanie

Pod tym zakręconym tytułem kryje się sposób na ułatwienie sobie życia, który odkryłem po dość długich poszukiwaniach.

Chodzi o uproszczone (bez przekopywania się przez całą ścieżkę) otwieranie plików będących w tym samym katalogu co obecnie edytowany plik.

więcej...


Helper ułatwiający tworzenie obiektów Django w testach

Data publikacji: 2014-11-25 | Programowanie

Przy pisaniu testów często trzeba stworzyć kilka obiektów Django, a zdarza się, że nie mamy gotowych fiksturek. W takim wypadku można użyć uniwersalnej funkcji pomocniczej, która stworzy nam dany dowolny obiek na podstawie podanych parametrów.

więcej...


Usunięcie wszystkich zadań z kolejki celery

Data publikacji: 2014-11-18 | Programowanie

Kiedy wszystko zaczyna iść źle, taski szaleją, celery odmawia współpracy i ogółem nadchodzi armagedon, wtedy jest czas na moment refleksji - trzeba przeczyścić kolejkę tasków.

więcej...


Kopiowanie obiektów modeli w Django

Data publikacji: 2014-11-12 | Programowanie

Ostatnio dopadła mnie potrzeba by skopiować obiekt modelu w Django. Zwykłe przepisanie atrybutów do nowej instancji nie wchodziło w rachubę, bo jest ich po prostu zbyt dużo.

więcej...


Django - przejście w szablonach z MEDIA_URL na templatetag static i vim

Data publikacji: 2014-11-04 | Programowanie
Od wersji 1.3 Django stara się wprowadzić nową metodę ładowania plików statycznych w szablonach. Przestajemy używać {{ MEDIA_URL }} bądź {{ STATIC_URL }} i przechodzimy na templatetag {% static 'ścieżka do pliku statycznego' %}. Łatwiej powiedzieć, niż zrobić - szablonów zatrzęsienie, w każdym jakieś pliki statyczne, a trochę strach przemielić całość za jednym zamachem bez sprawdzenia poprawności.

więcej...


Form.field.value w Django 1.2 i niższych

Data publikacji: 2014-08-12 | Programowanie
Django 1.3 wprowadziło bardzo ciekawą metodę pola formularza o nazwie value. Jej przydatność można docenić, kiedy ręcznie budujemy skomplikowany formularz i zachodzi potrzeba użycia składni:
<input type="text" name="{{ form.field.name }}" value="{{ form.field.value }}" />
W tym poście pokażę, jak zaimplementować tą metodę w Django wcześniejszym niż 1.3.

więcej...


MultiValueDictKeyError w Django 1.6

Data publikacji: 2014-06-22 | Programowanie
Przy migracji na nowsze Django (w moim przypadku 1.6.5) trafiłem na problem MultiValueDictKeyError przy zapisie obiektu w panelu administracyjnym. Problem wynika z nadpisania szablonów stacked inline lub tabular inline w adminie.

więcej...


Ręczny JOIN w Django do tabel many-to-many

Data publikacji: 2014-05-28 | Programowanie
Chwila pracy z ORM Django i każdy odczuwa potęgę takiego rozwiązania. Jednak nie zawsze wszystko da się załatwić przez proste filter i exclude. A zdarzają się takie sytuacje tym częściej, im lepiej znamy framework i im bardziej chcemy go zmusić do jeszcze wydajniejszej pracy.

więcej...


Co zrobić, gdy Django wykonuje funkcje podpięte pod sygnały więcej niż raz

Data publikacji: 2013-10-22 | Programowanie
Przydarzyła mi się ostatnio następująca sytuacja: mając prosty model, podpiąłem do niego prostą funkcję przez sygnał post_save. Ku mojemu zdziwieniu, po zapisaniu modelu sygnał post_save został wysłany poprawnie, natomiast funkcja odbierająca została wykonana dwa razy. Po bezowocnych poszukiwaniach drugiego miejsca, gdzie mogła być podpięta ponownie, byłem bliski zrezygnowania z użycia sygnału. Jednak w końcu udało mi się znaleźć rozwiązanie:

więcej...


Ograniczenie ilości wyborów MultipleChoiceField w formularzach Django

Data publikacji: 2013-09-25 | Programowanie
Czasem zachodzi potrzeba ograniczenia ilości wyborów w formularzu dla pól many-to-many. Np. chcemy ograniczyć ilość kategorii, do których ma być dodany artykuł. W Django da się to zrobić w łatwy i elegancki sposób.

więcej...


Wyświetlanie zapytania sql w shellu Django

Data publikacji: 2013-07-30 | Programowanie
Pierwszy sposób jest najprostszy i działa od Django w wersji 1.3
qs = Model.objects.all()
print qs.query
lub
str(Model.objects.all().query)
Niestety możemy go zastosować jedynie do QuerySetów.

więcej...


cPaste.info - kolejny pastebin

Data publikacji: 2013-07-25 | Programowanie
Tak się złożyło, że pojawiło się Django 1.5 (o czym już pisałem), a ja z braku czasu nawet go nie dotknąłem. Oto jednak nadszedł ten moment, w którym postanowiłem napisać jakąś prostą aplikację w nowym Django. Padło na stronę typu pastebin czyli platformę do dzielenia się snippetami kodu. Na projekt przeznaczyłem około 4-6h, użyłem frameworków: Django 1.5, Formee, html5 Boilerplate (łącznie z bootstrap) oraz Pygments.

więcej...


MAXREPEAT problem Django, virtualenv oraz aktualizacji pythona

Data publikacji: 2013-06-04 | Programowanie
Ostatni trafił mi się ciekawy przypadek złego działania virtualenv po aktualizacji pythona. Mianowicie każdy odpalony projekt Django witał mnie błędem:
ImportError: cannot import name MAXREPEAT

więcej...


Django - logarytmiczna chmura tagów

Data publikacji: 2013-05-22 | Programowanie
Mając już działający system tagów na stronie możemy (i zwykle chcemy) pokusić się o wyświetlenie chmury tagów. Chmura tagów to zbiór tagów, wyświetlony gdzieś na stronie www, dla którego charakterystyczną cechą jest zróżnicowanie wielkości czcionki w zależności od ilości wystąpień danego tagu. Innymi słowy - im częściej występuje dany tag, tym większa czcionka.

więcej...


Django 1.5 zostało wypuszczone

Data publikacji: 2013-02-27 | Programowanie
Wczoraj ukazała się najnowsza wersja frameworka webowego opartego na pythonie, czyli Django w wersji 1.5.

więcej...


Tuning panelu administratora w Django

Data publikacji: 2013-02-19 | Programowanie
Zaletą panelu administratora Django jest jego wygląd - czysty, przejrzysty, łatwy w nauce. No i nie wiadomo ile serwisów byśmy mieli do obsłużenia - schematu uczymy się tylko raz, a przez większość czasu możemy skupić się na treści. Paradoksalnie - ta zaleta jest jednocześnie wadą - każdy panel jest tak do siebie podobny, że można się zagubić i stracić orientację, czy dodajemy treść na serwisie o seksrandkach, czy może na stronie dla dzieci.

więcej...


Vim i podświetlanie składni templatek django

Data publikacji: 2013-02-01 | Programowanie
Vim ma problemy z wykryciem, czy szablon Django jest zwykłym htmlem, czy rzeczonym szablonem. To fakt. Jak zatem poradzić sobie z tą niedogodnością?

więcej...


Wysyłanie wiadomości e-mail używając Django oraz Gmail

Data publikacji: 2013-01-29 | Programowanie
Aby wysyłać pocztę przy użyciu Gmaila, należy spełnić dwa warunki:
  • Posiadać poprawnie skonfigurowane konto Gmail (nieważne, czy będzie to typowe konto, czy konto założone na własnej domenie przy pomocy GoogleApps).
  • Skonfigurować framework Django tak, by korzystał z konta Gmail, przy wysyłaniu poczty.

więcej...


1

IT w obrazkach: