Szybka porada, która może okazać się pomocna, jeśli w starciu z django-haystack otrzymujesz błędy typu:

cannot import name

gdzie name jest nazwą jakiegoś modułu.

Problemem może być zapętlony import - przynajmniej taką przyczynę zdają się sugerować w dokumentacji. Możesz spróbować ustawić

HAYSTACK_ENABLE_REGISTRATIONS=False

w settings.py i ręcznie ustawiać SearchIndex dla każdej aplikacji, z której korzysta wyszukiwarka.

Czytaj dalej...

Napisałem sobie tag wyświetlający mały boks wyświetlany na każdej podstronie, gdzie user może edytować wyświetlany obiekt. Chodzi o coś takiego:
admin links
Tag, wywołany na stronie np. object_detail, wyświetla w wybranym miejscu linki do edycji i usunięcia wyświetlanego obiektu, utworzenia nowego obiektu tego typu lub widoku listy w Panelu Admina Django. Linki są wyświetlane zależnie od uprawnień. Jeśli jako argument podamy obiekt QuerySet, wyświetlone zostaną linki do utworzenia nowego obiektu typu zawartego w QuerySet oraz Listy aktualnych obiektów w Panelu Admina.
Składnia tagu:

{% admin_links object %}

Jako object podajemy instancję Modelu lub obiekt QuerySet.

Czytaj dalej...

W miarę prosty sposób na boksy z linkami, jakie czasem widzi się na stronie głównej W okrojonej wersji wygląda to mniej-więcej tak:
Boksy z menu

Jak widać, box składa się z krótkiego hasła i jego rozwinięcia, myślałem więc o stworzeniu zwykłych drupalowych boksów na stronie, lecz trochę to nieintuicyjne - trzeba ręcznie edytować adresy linków oraz pamiętać o składni HTML.

Czytaj dalej...

Zdarzyła mi się ostatnio potrzeba wyszukania w ORM Django obiektów o czasie utworzenia najbliższemu wybranej dacie. W czeluściach internetu nie znalazłem zbyt wiele sensownego na temat szukania najbliższych wartości, nie było też żadnej automagicznej funkcji wykonującej podobne zadanie, więc zdecydowałem się napisać do tego własny kawałek kodu SQL.

Jedynym sensownym rozwiązaniem, na jakie wpadłem jest użycie DATEDIFF jako "wyznacznika odległości" od poszukiwanej daty.

Czytaj dalej...

Przy obecnym (a zarazem pierwszym pisanym w django) projekcie dla klienta otrzymałem wytyczne, że wszelkie zmiany w określonych modelach powinny być archiwizowane w historii, aby później łatwo można było ustalić kto popełnił ewentualny błąd. Parę dni spędziłem na przeszukiwaniu niezbadanych czeluści internetu aby znaleźć odpowiednie rozwiązanie - bo po co pisać coś, co już prawdopodobnie zostało napisane?

Czytaj dalej...

Pisząc swój pierwszy półprofesjonalny serwisik (czytaj: taki, który wyjdzie oficjalnie na świat ;) ) w Symfony, natknąłem się na problem administracji użytkownikami, którzy powinni należeć tylko i wyłącznie do jednej grupy.

Mamy sobie aplikację z użytkownikami zarządzanymi przez sfGuarda. Każdy użytkownik powinien należeć tylko do jednej z wybranych grup, zatem odmiennie od domyślnej konfiguracji sfGuarda, który zezwala na łączenie użytkownika z wieloma grupami (relacje m-n).

Można spróbować pisania metod setGroup(), która usunie poprzedni związek sfGuardUserGroup i utworzy nowy, ale to raczej obchodzenie problemu, sprawiające więcej problemów niż pożytku.

Czytaj dalej...

FourieroSzeregator

14 marca, 2008

Osoby wrażliwe na hasło szereg Fouriera i inne z nim związane, proszone są o opuszczenie strony, zanim przydarzy im się coś przykrego..
A może niech zostaną, a niechęć do wymienionego szeregu zniknie.. ? :)

Trochę kodowania i voila! FourieroSzeregator gotowy ;)

Czytaj dalej...