Szkolenie: Python: Tworzenie webaplikacji i REST API w Django
Podczas szkolenia "Tworzenie webaplikacji w Django" poznasz Django, czyli jeden z najpopularniejszych frameworków w języku Python.
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:3 dni (24h)
Kod kursu:PYTHON/DJANGO
Python: Tworzenie webaplikacji i REST API w Django
Cele szkolenia
Opanowanie elementów frameworka Django, odpowiadających za obsługę zapytań HTTP
Poznanie mechanizmów Django, odpowiedzialnych za testowanie aplikacji
Zdobycie wiedzy dotyczącej uruchamiania aplikacji Django w środowisku produkcyjnym
Dla kogo?
Programiści Python
Programiści innych języków
Zalety
W trakcie szkolenia uczestnicy stworzą przykładową aplikację gotową do użycia i wdrożenia na serwer
Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
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
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Wprowadzenie do Django
Przykłady serwisów wykorzystujących Django
Wersje Django i strategia aktualizacji
Instalacja Django
Plik konfiguracyjny
manage.py i jego opcje
Wbudowany serwer HTTP (nasłuchiwanie lokalne oraz na wszystkich interfejsach)
Konfiguracje uruchomieniowe w IDE
Projekty
Pojęcie projektu Django
Tworzenie nowego projektu
Struktura katalogów
Settings
Debug i konfiguracja przez zmienne środowiskowe
Security Key i secrets
Konfiguracja logowania zdarzeń
Konfiguracja cache i bazy danych
Aplikacje
Pojęcie projektu i aplikacji Django
Tworzenie nowej aplikacji
Struktura aplikacji
Koncepcja reużywalności a praktyka
Modele
Modele w Django
Pola znakowe, numeryczne, logiczne, specjalne, złożone, relacje
Relacje między modelami: ForeignKey, OneToOne, ManyToMany
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
Tworzenie własnych pól
Klasa Meta
Panel administracyjny
Tworzenie superusera
Rejestracja modeli
Konfiguracja panelu administracyjnego
Wyszukiwanie, filtrowanie, autocomplete
Fieldset, Radio Buttony, Checkboxy
Custom 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
Tworzenie własnych filtrów
Wstrzykiwanie własnych skryptów Java Script oraz styli CSS
Modyfikacja wyglądu panelu administracyjnego przez nadpisywanie template’ów
Widgety
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
Locale, i18n, l10n
Obsługa różnych formatów dat
Praca ze strefami czasowymi
Tłumaczenie szablonów i nazw pól (gettext)
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
Skrypty i Management Commands
Tworzenie skryptów wykorzystujących modele i ORM Django
Tworzenie własnych Management Commands
Testowanie
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
Wdrażanie
Zamrażanie i zarządzanie zależnościami
Nginx, uWSGI, async WSGI
Serwer Gunicorn
Serwowanie plików statycznych i korzystanie z CDN np. AWS S3
Docker i Kubernetes
Cache
Security