Wprowadzenie.
We wpisie przedstawiam wbudowany mechanizm logowania, który dostarcza nam Django REST Framework. Dzięki tej funkcjonalności możemy szybko i w prosty sposób testować naszą aplikację pod względem dostępu do danych przez konkretnego autoryzowanego użytkownika.
Spis treści serii
- Django REST API cz. 1– Tworzenie nowego projektu
- Django REST API cz. 2 – ListAPIView
- Django REST API cz. 3 – Wbudowana strona logowania
- Django REST API cz. 4 – Widoki generyczne
- Django REST API cz. 5 – ListCreateAPIView i konfiguracja dostępu
- Django REST API cz. 6 – Uszczegóławianie odpowiedzi
- Django REST API cz. 7 – Określenie z góry wartości danych
- Django REST API cz. 8 – RetrieveDestroyAPIView
- Django REST API cz. 9 – RetrieveUpdateAPIView
- Django REST API cz. 10 – Nadpisywanie zachowań metod przed/po operacji zapisu/usuwania
- Django REST API cz. 11 – Rejestracja nowego użytkownika poprzez API
- Django REST API cz. 12 – Uwierzytelnianie przy pomocy Tokena
- Django REST API cz. 13 – Generowanie tokena dla istniejących użytkowników
Zakres artykułu.
- Dodanie mechanizmu logowania do wbudowanej strony frameworka REST
Dodanie mechanizmu logowania do wbudowanej strony frameworka REST
Jedynym krokiem jaki należy wykonać, aby dodać wbudowany mechanizm logowania jest dodanie ścieżki w pliku urls.py. Poprzez dodanie tej funkcji na stronie, gdzie odpytujemy nasze API w pasku na górze po prawej stronie, będziemy mieli dostępny przycisk Log in, który przekieruje nas na inną stronę, z której będziemy mogli się zalogować na dowolnego użytkownika.
from django.contrib import admin from django.urls import path, include # new from restapiapp import views urlpatterns = [ path('admin/', admin.site.urls), # API path('api/authors', views.AuthorList.as_view()), path('api/books', views.BookList.as_view()), path('api/borrows', views.BorrowList.as_view()), # DRF path('api-auth/', include('rest_framework.urls')), # new ]
W celu przetestowania aplikacji wylogujmy się z panelu administratora. Następnie przejdźmy na dowolną stronę z API na przykład http://127.0.0.1:8000/api/authors
Widok strony http://127.0.0.1:8000/api/authors przed wprowadzeniem modyfikacji w pliku urls.py.
Widok strony http://127.0.0.1:8000/api/authors po wprowadzeniu modyfikacji w pliku urls.py.
Naciśnijmy na przycisk Log in, a następnie przy pomocy formularza sprawdźmy czy możemy się zalogować na konto innego użytkownika, którego wcześniej dodaliśmy.
Po pomyślnym zalogowaniu się nasz login powinien być widoczny, na górnym pasku po prawej stronie, w miejscu przycisku Log in.
W ten oto sposób, przy pomocy jednej linijki kodu mamy dostępny gotowy mechanizm logowania.
Spis treści serii
- Django REST API cz. 1– Tworzenie nowego projektu
- Django REST API cz. 2 – ListAPIView
- Django REST API cz. 3 – Wbudowana strona logowania
- Django REST API cz. 4 – Widoki generyczne
- Django REST API cz. 5 – ListCreateAPIView i konfiguracja dostępu
- Django REST API cz. 6 – Uszczegóławianie odpowiedzi
- Django REST API cz. 7 – Określenie z góry wartości danych
- Django REST API cz. 8 – RetrieveDestroyAPIView
- Django REST API cz. 9 – RetrieveUpdateAPIView
- Django REST API cz. 10 – Nadpisywanie zachowań metod przed/po operacji zapisu/usuwania
- Django REST API cz. 11 – Rejestracja nowego użytkownika poprzez API
- Django REST API cz. 12 – Uwierzytelnianie przy pomocy Tokena
- Django REST API cz. 13 – Generowanie tokena dla istniejących użytkowników