Python: Tworzenie webaplikacji w Django

Czas trwania szkolenia:3 dni (24h)

Kod kursu:PYTHON/DJANGO

Poziom zaawansowania:
djangoweb-application

Szkolenie na zamówienie

Szkolenie dostosowane do potrzeb Twojego zespołu. Dostępne wyłącznie na zamówienie.

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin
Icon with laptop

O szkoleniu Python: Tworzenie webaplikacji w Django

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

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
  • 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

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

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

Podobne szkolenia