Rejestracja i pierwsze przymiarki do bazy danych

Cześć i czołem! W poprzednim wpisie udało Nam się stworzyć jako taki system logowania (mający jeszcze kilka błędów) oraz reponsywną stronkę. Dziś postram się prześledzić razem z Wami tworzenie formularza rejestracji i poprawiania błędów w logowaniu. Do dzieła!

Podczas rejestracji będziemy chcieli, aby użytkownik podał nick, imię i nazwisko, adres e-mail oraz hasło. W tym celu musimy tworzymy nowy plik o nazwie ‚forms’. Z pomocą znów przychodzi nam wbudowany system autoryzacji Django oraz niezastąpiona stronka simpleisbetterthancomplex. Sprawa z rejestracją jest trochę bardziej skomplikowana niż z logowaniem – zainteresowanych odsyłam do mojego githuba, gdzie dostępny jest cały kod oraz opisane są wszystkie zmiany. Po kilku zabiegach uzyskujemy następujący efekt.

Niezbyt atrakcyjne graficznie widowisko, prawda? No to teraz ‚szybka akcja’ i w wyniku otrzymujemy idealnie „materialize’owy” panel:

Prawda, że widać różnicę? Jednak chcielibyśmy, aby przyszli użytkownicy podali podczas rejestracji trochę więcej danych. W przyszłości może pomyślę jeszcze o kodzie CAPTCHA, ale na razie nie chcę Was zniechęcać 😉

Szata graficzna już działa. Dodałem również przycisk do wylogowywania się. Jednak jest jeden problem. Po zakończeniu sesji wciąż można kliknąć „cofnij” i przenieść się do stanu sprzed wylogowania. Odpowiada za to pamięć podręczna przeglądarki.  Na szczęście w Pythonie występują dekoratory i to właśnie za jego pomocą udało mi się zablokować próby powrotu po wylogowaniu. Wystarczyło dopisać linijkę:

@login_required(login_url='/login/')

Angielska nazwa metody sama wskazuje na to, co ona robi – wymaga bycia zalogowanym.

Podsumujmy – mamy już działający system logowania i rejestracji. Możemy sprawnie się wylogować i nie grozi nam, że ktokolwiek będzie mieć dostęp do naszego konta po zakończeniu sesji. Czas teraz na tworzenie bazy danych, bo przecież swoje transakcje musimy gdzieś zapisywać! Nasza tabela, w której będziemy przechowywać zakupy powinna posiadać pola:

  • Nazwa towaru
  • Cena
  • Data
  • Opis

W następnym wpisie zabierzemy się już do stworzenia bazy oraz dwóch stron: domowej (dostępnej po zalogowaniu) oraz dodawania transakcji. To tyle na dzisiaj, ja uciekam oglądać NCAA, bo dziś o 24 Przemek Karnowski i Gonzaga Bulldogs walczą o awans do finału 😉 Trzymajcie kciuki za Polaka.

Jeśli macie jakiekolwiek uwagi lub pomysły – śmiało dawajcie znać.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *