Python: Tworzenie webaplikacji w Django
LICZBA DNI: 3 (24h)
KOD KURSU: PYTHON/DJANGO
Weź udział w szkoleniu
Termin
Lokalizacja
Cena / os
30
sierpnia
Warszawa,
Gdańsk,
Zdalne,
Termin
30
sierpnia
Lokalizacja
Warszawa,
Gdańsk,
Zdalne,
Cena / os
Powiadom
o kolejnych terminach
O szkoleniu
DLA KOGO?
Programiści Python
Programiści innych języków
WYMAGANIA
Wymagana jest dobra znajomość języka Python (szkolenie nie jest dla początkujących)
Mile widziana znajomość protokołu HTTP i modelu request-reponse
Mile widziana umiejętność poruszania się w środowisku Linux
ZALETY
W trakcie szkolenia uczestnicy stworzą przykładową aplikację gotową do użycia i wdrożenia na serwer
Cele szkolenia
Opanowanie elementów frameworka Django, odpowiadających za obsługę zapytań HTTP
Zdobycie wiedzy dotyczącej uruchamiania aplikacji Django w środowisku produkcyjnym
Poznanie mechanizmów Django, odpowiedzialnych za testowanie aplikacji
Program
Wprowadzenie do Django
- Instalacja Django
- Plik konfiguracyjny
- manage.py i jego opcje
- Wbudowany serwer HTTP (nasłuchiwanie lokalne oraz na wszystkich interfejsach)
- IDE oraz narzędzia dla programistów
- Przykłady serwisów wykorzystujących Django
Projekty
- Pojęcie projektu Django
- Tworzenie nowego projektu
Aplikacje
- Pojęcie projektu i aplikacji Django
- Tworzenie nowej aplikacji
- Struktura aplikacji
- Reużywalność
Modele
- Modele w Django
- Typy pól
- Relacje między modelami
- Parametry pól, unikalność, wartości null, indeks w bazie, wymagalność pól
- Ograniczenie wyboru
- Auto uzupełnianie dat
- Walidatory
- Migracje i ich obsługa
- Dump danych i przywracanie z backupu
- Klasa Meta
Panel administracyjny
- Tworzenie superusera
- Konfiguracja panelu administracyjnego
- Wyszukiwanie, filtrowanie, autocomplete
- Tworzenie własnych filtrów
- Rejestracja modeli
- Fieldset, Radio Buttony, Checkboxy
- Widgety
- Annotated Fields
- StackedInline i TabularInline
- Wyświetlanie własnych pól za pomocą list_display
- Ograniczanie listy wyników (get_queryset)
- Miękkie kasowanie danych (bez usuwania z bazy)
- Paginacja
- Wstrzykiwanie własnych skryptów Java Script oraz styli CSS
- Modyfikacja wyglądu panelu administracyjnego przez nadpisywanie template’ów
ORM
- Tworzenie prostych zapytań przy pomocy ORM
- Tworzenie obiektów, zapis do bazy, aktualizacja
- Pobieranie obiektów, filtrowanie, łączenie zapytań, sortowanie
- Zaawansowane zapytania: obiekty Q, wyrażenia F, grupowanie i agregacje
- Wiele baz danych na raz
- Inżynieria wsteczna bazy (inspectdb)
- Podglądanie zapytań do bazy danych
- Managery dla modeli
Routing URL
- Wprowadzenie do wyrażeń regularnych
- Mechanizmy rozwiązywania URL przez Django
- Łączenie widoków z odpowiednimi URL
- Rozwiązywanie wsteczne URL
- Przekierowania
- Wersjonowanie
Widoki
- Statusy HTTP, nagłówki zapytań i odpowiedzi
- Widoki klasowe i funkcyjne
- Widoki generyczne
- Widoki asynchroniczne
- Obsługa błędów
- Obsługa różnych typów zapytań (JSON, HTTP, CSV)
- Odczytywanie danych z zapytania
- Dekoratory ograniczające dostęp
Szablony
- Składnia szablonów: Zmienne, Znaczniki, Filtry
- Obsługa URL
- Hierarcha, dziedziczenie i separacja powtarzalnych części kodu
- Templatetag
- Pliki statyczne: obrazki, css, java script
Formularze
- Klasa Form: typy, definiowanie pól formularza
- Wyświetlanie formularzy
- Walidacja formularza
- Obsługa błędów
- Tworzenie formularzy bezpośrednio z modelu
- CSRF
Middleware
- Mechanizm przetwarzania żądań
- Tworzenie własnych middleware
i18n, l10n
- Obsługa różnych formatów dat
- Praca ze strefami czasowymi
- Tłumaczenie szablonów i nazw pól (ugettext_lazy)
- Obsługa różnych formatów numerycznych
- Tłumaczenie plików Java Script
Autoryzacja i uwierzytelnianie w aplikacji Django
- System uwierzytelniania Django (django.contrib.auth)
- Logowanie
- Mechanizm sesji
- Definiowanie uprawnień dla użytkownika i grup
- Ograniczanie dostępu do widoków
API
- Tworzenie własnych endpointów
- Obsługa zapytań POST, GET, PUT, PATCH, HEAD, OPTIONS
- Wersjonowanie API
- Django REST API
- Websockets
- Generowanie dokumentacji do API
- Django Extensions Graph
- CSRF oraz CORS
Custom Fields
- Tworzenie własnych pól
Django i skrypty
- Tworzenie skryptów wykorzystujących modele i ORM Django
- Tworzenie własnych Management Commands
Testowanie aplikacji Django
- Wprowadzenie do modułu django.test
- Klasa TestCase i asercje specyficzne dla Django
- Klient Testowy
- Klasa Response
- Fixtures
- Django Debug Toolbar
- CI/CD aplikacji Django
Aplikacja Django w środowisku produkcyjnym
- Nginx, uWSGI, async WSGI
- Serwer Gunicorn
- Serwowanie plików statycznych i korzystanie z CDN np. AWS S3
- Docker i Kubernetes
- Cache
