Open Source

Nowy messages framework, czyli komunikaty dla użytkowników

Do niedawna jedynym (natywnym) sposobem prezentowania użytkownikom jednorazowych komunikatów, typu: Rekord został zmieniony, Zmiana zapisana, Obiekt usunięty itd. było użycie:

    user.messages_set.create('komunikat')

Wywołanie takiego polecenia powodowało dodanie wpisu do tabeli Messages (dla danego użytkownika), który to wpis był automatycznie kasowany po jednorazowym wyświetleniu. Wadą tego rozwiązania było, np. ograniczenie go tylko do zautentykowanych użytkowników oraz brak możliwości określenia typu komunikatu: błąd/sukces/ostrzeżenie itd.

W rewizji 11804 kodu Django został dodany nowy framework messages który powinien rozwiązać wspomniane powyżej problemy.

Dzięki nowym mechanizmom możliwe jest wykorzystanie Cookies lub sesji do przechowywania komunikatów (co umożliwia ich stosowanie także w przypadku anonimowych użytkowników). Framework obsługuje znane z modułu logging poziomy (levels) komunikatów, np. INFO, ERROR, a także dodaje kilka innych ciekawych funkcjonalności np. wygasanie wiadomości.

Warto już teraz zacząć stosować nowy framework, bowiem począwszy od Django 1.2 polecenie user.message_set.create(...) będzie oznaczone jako deprecated a w Django 1.4 zostanie całkowicie usunięte. Informację na ten temat można znaleźć tutaj.

Napisał: Maciej Wiśniowski, dnia: Styczeń 2, 2010

Komentarze

Komentarze wyłączone

W celu zabezpieczenia się przed spamem komentarze są wyłączone.