Poziom

Podstawowy

Czas

32h / 4 dni

Termin

Indywidualnie

Cena

Indywidualnie

Szkolenie Django

Czterodniowe szkolenie prowadzi uczestników przez budowę aplikacji internetowej w aktualnie wspieranej wersji Django – od konfiguracji projektu, routingu, widoków i szablonów po modele danych, formularze, uwierzytelnianie, testy oraz REST API z wykorzystaniem Django REST Framework. Uczestnicy przygotują funkcjonalny projekt końcowy obejmujący interfejs webowy, bazę danych, kontrolę dostępu, automatyczne testy i API. Program uwzględnia bezpieczeństwo konfiguracji, optymalizację zapytań, podstawy cache, pracę w środowisku WSGI i ASGI oraz checklistę gotowości do wdrożenia. Zakres obejmuje przygotowanie aplikacji do publikacji.

Dla kogo jest to szkolenie?
  • logo infoshare Programiści Python bez doświadczenia w Django, którzy znają funkcje, klasy, moduły, wyjątki, kolekcje oraz pracę z pip i środowiskiem wirtualnym
  • logo infoshare Początkujący deweloperzy webowi znający podstawy protokołu HTTP, HTML i CSS oraz ogólne zasady komunikacji przeglądarki z serwerem
  • logo infoshare Specjaliści IT przygotowujący prototypy aplikacji, panele administracyjne lub REST API, posiadający podstawową znajomość relacyjnych baz danych i języka SQL
  • logo infoshare Osoby planujące rozwój w kierunku backendu lub full-stack developmentu, które potrafią pracować w terminalu, korzystać z systemu Git i samodzielnie analizować komunikaty błędów. Szkolenie nie obejmuje nauki Pythona od podstaw

Czego nauczysz się na szkoleniu?

  • Skonfigurujesz projekt i aplikacje Django, przygotujesz routing, widoki, szablony oraz ustawienia zależne od środowiska
  • Zaprojektujesz modele i relacje, wykonasz migracje oraz przygotujesz operacje CRUD, formularze, walidację i obsługę plików
  • Zaimplementujesz rejestrację, logowanie, uprawnienia i ochronę danych użytkowników oraz przygotujesz testy modeli, formularzy i widoków
  • Zbudujesz REST API zawierające serializatory, endpointy CRUD, paginację, filtrowanie, uwierzytelnianie i kontrolę dostępu
  • Przygotujesz funkcjonalną aplikację końcową, zweryfikujesz jej działanie testami, ograniczysz zbędne zapytania do bazy i utworzysz checklistę gotowości do wdrożenia

Program szkolenia

Dzień 1 

Moduł 1: Wprowadzenie do Django

  • Historia, filozofia „batteries included”, architektura MVT oraz zastosowania Django w aplikacjach internetowych, panelach administracyjnych i usługach API
  • Środowisko Python i Django: pip, venv, izolacja zależności, wybór wspieranej wersji frameworka oraz pliki zależności projektu
  • Pierwszy projekt i aplikacja Django: polecenia startproject i startapp, konfiguracja aplikacji oraz podstawowy przepływ żądania
  • Struktura projektu: pliki settings.py, urls.py, views.py, models.py, konfiguracja aplikacji oraz podział odpowiedzialności
  • Serwer deweloperski i polecenia zarządzające: runserver, check, konsola Django, komunikaty diagnostyczne oraz ograniczenia środowiska lokalnego

Moduł 2: Routing i widoki

  • Mapowanie adresów URL: funkcja path(), konwertery parametrów, przestrzenie nazw, dołączanie konfiguracji aplikacji oraz nazwy tras
  • Widoki funkcyjne i klasowe: struktura obsługi żądania, podstawowe widoki generyczne, dobór podejścia oraz czytelność kodu
  • Obiekty HttpRequest i HttpResponse: metody HTTP, parametry ścieżki, dane zapytania, dane formularza, nagłówki i kody odpowiedzi
  • Django Template Language: kontekst szablonu, zmienne, tagi, filtry, dziedziczenie układu, komponenty wielokrotnego użytku oraz automatyczne zabezpieczenie treści HTML

Moduł 3: Modele Django i ORM

  • Modele i pola danych: typy pól, wartości domyślne, ograniczenia, indeksy, metadane modelu oraz reprezentacja obiektów
  • Relacje między modelami: OneToOneField, ForeignKey, ManyToManyField, integralność referencyjna oraz zachowanie przy usuwaniu rekordów
  • Migracje schematu: pliki migracji, zależności, polecenia makemigrations i migrate, podgląd zmian oraz bezpieczne modyfikacje modelu
  • Panel administracyjny Django: rejestracja modeli, konfiguracja list, filtry, wyszukiwanie, formularze administracyjne oraz kontrola dostępu

 

Dzień 2

Moduł 4: Operacje na danych i formularze

  • Django ORM i QuerySet: operacje CRUD, filtrowanie, wykluczanie, sortowanie, paginacja, aktualizacje zbiorcze oraz leniwe wykonywanie zapytań
  • Formularze forms.Form i forms.ModelForm: definicje pól, widżety, wiązanie danych, zapis modelu oraz prezentacja formularza w szablonie
  • Walidacja danych i obsługa błędów: walidatory pól, metody clean(), komunikaty błędów, walidacja zależności między polami oraz spójność danych
  • Obsługa plików: pola FileField i ImageField, dane multipart/form-data, ustawienia MEDIA_ROOT i MEDIA_URL, ograniczenia plików oraz bezpieczne nazwy

Moduł 5: Uwierzytelnianie i autoryzacja

  • System użytkowników Django: model użytkownika, profil, niestandardowy model użytkownika, grupy, uprawnienia oraz rola administratora
  • Rejestracja, logowanie, wylogowanie i odzyskiwanie dostępu: formularze uwierzytelniania, hashowanie haseł, komunikaty oraz przekierowania
  • Sesje, ciasteczka i kontrola dostępu: dekoratory, mixiny, uprawnienia obiektowe, ochrona CSRF, ustawienia bezpieczeństwa cookies oraz ograniczenie ekspozycji danych

Moduł 6: Frontend i testowanie aplikacji

  • Integracja warstwy frontendowej: HTML, CSS, JavaScript, przekazywanie danych z widoków, obsługa formularzy oraz komunikaty użytkownika
  • Pliki statyczne i biblioteki frontendowe: konfiguracja STATIC_URL, katalogi zasobów, polecenie collectstatic, Bootstrap oraz organizacja komponentów interfejsu
  • Testy aplikacji: testy modeli, widoków, formularzy i routingu, klient testowy Django, dane testowe, izolacja przypadków oraz podstawy pokrycia kodu
  • Diagnostyka aplikacji: strony błędów, logowanie, Django Debug Toolbar, system checks, analiza stosu wywołań oraz rozdzielenie konfiguracji deweloperskiej i produkcyjnej

 

Dzień 3

Moduł 7: Wprowadzenie do API

  • Architektura REST i Django REST Framework: zasoby, reprezentacje, metody HTTP, kody odpowiedzi, format JSON oraz różnice między widokiem HTML a endpointem API
  • Serializatory i widoki API: Serializer, ModelSerializer, walidacja danych, konwersja obiektów, APIView oraz podstawowe endpointy CRUD
  • Endpointy i routing API: konfiguracja adresów, parametry ścieżki, obiekt Request, obiekt Response, obsługa wyjątków oraz spójna struktura odpowiedzi

Moduł 8: Zaawansowane funkcje DRF

  • Widoki generyczne, mixiny, GenericAPIView, ViewSet i ModelViewSet: zakres automatyzacji, routery, akcje standardowe oraz dobór poziomu abstrakcji
  • Paginacja, filtrowanie i sortowanie: limity wyników, parametry zapytania, backendy filtrujące, pola dozwolone oraz stabilny porządek rekordów
  • Obsługa plików przez API: parsery danych, serializatory plików, walidacja typu i rozmiaru, odpowiedzi błędów oraz kontrola dostępu do zasobów
  • Uwierzytelnianie i autoryzacja API: sesje, tokeny, JWT z biblioteką zewnętrzną, klasy uprawnień, zasady dostępu, throttling oraz różnica między identyfikacją a uprawnieniami

Moduł 9: Zaawansowane tematy Django

  • Middleware: kolejność wykonania, przetwarzanie żądań i odpowiedzi, własne komponenty, kontekst użytkownika oraz wpływ na bezpieczeństwo i wydajność
  • Sygnały Django: nadawcy, odbiorcy, reakcje na zdarzenia, transakcje, skutki uboczne oraz ryzyko ukrytych zależności w kodzie
  • Optymalizacja ORM: select_related, prefetch_related, annotate, aggregate, indeksy, analiza liczby zapytań oraz eliminacja problemu N+1
  • Cache, Redis i zadania w tle: strategie cache, klucze, czas życia, unieważnianie danych, kontrakt zadań Django oraz rola zewnętrznego procesu wykonawczego

 

Dzień 4

Moduł 10: Wdrożenie i praktyczne wskazówki

  • Dobre praktyki REST API: nazewnictwo zasobów, semantyka metod i kodów HTTP, walidacja, obsługa błędów, wersjonowanie, dokumentacja OpenAPI oraz ograniczenie ujawnianych danych
  • Środowisko produkcyjne: WSGI i ASGI, Gunicorn, Uvicorn, Nginx, reverse proxy, pliki statyczne, pliki użytkowników oraz rozdzielenie odpowiedzialności komponentów
  • WebSockety i aplikacje czasu rzeczywistego: Django Channels, warstwa ASGI, połączenia długotrwałe, przypadki użycia oraz ograniczenia podejścia synchronicznego
  • Gotowość do wdrożenia: zmienne środowiskowe, SECRET_KEY, DEBUG, ALLOWED_HOSTS, HTTPS, migracje, collectstatic, logowanie, health checks oraz checklista bezpieczeństwa konfiguracji

Moduł 11: Realizacja projektu końcowego

  • Funkcjonalna aplikacja Django: wymagania domenowe, modele, migracje, operacje CRUD, formularze, uwierzytelnianie oraz panel administracyjny
  • Integracja frontendu z backendem: routing, widoki, szablony, pliki statyczne, komunikaty, obsługa błędów oraz spójny przepływ użytkownika
  • Testy i API projektu: serializatory, endpointy, uprawnienia, przypadki testowe, analiza zapytań ORM oraz kontrola gotowości do prezentacji

Moduł 12: Podsumowanie i pytania

  • Podsumowanie architektury aplikacji, przepływu żądań, warstwy danych, bezpieczeństwa, testów, API oraz procesu przygotowania do wdrożenia
  • Indywidualne pytania, konsultacje techniczne, przegląd fragmentów projektu oraz analiza alternatywnych rozwiązań
  • Materiały dodatkowe, dokumentacja oficjalna, środowisko demonstracyjne, checklista dalszego rozwoju oraz kierunki rozbudowy projektu

Skontaktuj sie z nami

zorganizujemy dla Ciebie szkolenie dopasowane do Twoich potrzeb

Przemysław Wołosz

Key Account Manager

przemyslaw.wolosz@infoShareAcademy.com

    Administratorem danych osobowych jest InfoShare Academy Sp. z o.o. z siedzibą w Gdańsku, al. Grunwaldzka 427B, 80-309 Gdańsk, KRS: 0000531749, NIP: 5842742213. Dane osobowe przetwarzane są zgodnie z klauzulą informacyjną.