Django 4. Praktyczne tworzenie aplikacji sieciowych. Wydanie IV - Helion

Tytuł oryginału: Django 4 By Example: Build powerful and reliable Python web applications from scratch, 4th Edition
Tłumaczenie: Rados
ISBN: 978-83-8322-370-4
stron: 721, Format: 168x237, okładka: mi
Data wydania: 2023-05-01
Księgarnia: Helion
Cena książki: 38,90 zł (poprzednio: 125,48 zł)
Oszczędzasz: 69% (-86,58 zł)
Osoby które kupowały "Django 4. Praktyczne tworzenie aplikacji sieciowych. Wydanie IV", wybierały także:
- Python dla DevOps. Naucz się bezlitośnie skutecznej automatyzacji 127,14 zł, (44,50 zł -65%)
- Flask. Kurs video. Od pierwszej linijki kodu do praktycznego zastosowania 119,00 zł, (47,60 zł -60%)
- Python na start. Kurs video. Tw 99,00 zł, (39,60 zł -60%)
- Statystyka praktyczna w data science. 50 kluczowych zagadnień w językach R i Python. Wydanie II 86,25 zł, (34,50 zł -60%)
- Python. Kurs video. Programowanie asynchroniczne 97,32 zł, (39,90 zł -59%)
Spis treści
Django 4. Praktyczne tworzenie aplikacji sieciowych. Wydanie IV -- spis treści
O autorze
O recenzentach
Słowo wstępne
Przedmowa
ROZDZIAŁ 1. Utworzenie aplikacji bloga
- Instalacja Pythona
- Tworzenie środowiska wirtualnego w Pythonie
- Instalacja Django - Instalowanie Django za pomocą pip
- Nowe funkcjonalności w Django 4
 
- Ogólne informacje na temat frameworka Django
- Główne komponenty frameworka
- Architektura Django
- Tworzenie pierwszego projektu - Stosowanie początkowych migracji bazy danych
- Uruchamianie serwera programistycznego
- Ustawienia projektu
- Projekty i aplikacje
- Utworzenie aplikacji
 
- Tworzenie modeli danych dla bloga - Utworzenie modelu Post
- Dodawanie pól daty i godziny
- Definiowanie domyślnej kolejności sortowania
- Dodawanie indeksu bazy danych
- Aktywacja aplikacji
- Dodawanie pola stanu
- Dodanie relacji wiele do jednego
- Tworzenie i stosowanie migracji
 
- Tworzenie witryny administracyjnej dla modeli - Tworzenie superużytkownika
- Witryna administracyjna Django
- Dodawanie modeli do witryny administracyjnej
- Personalizacja sposobu wyświetlania modeli
 
- Praca z obiektami QuerySet i menedżerami - Tworzenie obiektów
- Aktualizowanie obiektów
- Pobieranie obiektów
- Usuwanie obiektów
- Kiedy następuje określenie zawartości kolekcji QuerySet?
- Utworzenie menedżerów modelu
 
- Przygotowanie widoków listy i szczegółów - Utworzenie widoków listy i szczegółów
- Korzystanie ze skrótu get_object_or_404
- Dodanie wzorców adresów URL do widoków
 
- Utworzenie szablonów dla widoków - Tworzenie szablonu bazowego
- Utworzenie szablonu listy postów
- Uruchomienie aplikacji
- Tworzenie szablonu szczegółów posta
- Cykl żądanie-odpowiedź
 
- Zasoby dodatkowe
- Podsumowanie
ROZDZIAŁ 2. Usprawnienie bloga za pomocą funkcji zaawansowanych
- Kanoniczne adresy URL dla modeli
- Tworzenie dla postów adresów URL przyjaznych dla SEO
- Modyfikowanie wzorców adresów URL
- Modyfikowanie widoków
- Modyfikowanie kanonicznego adresu URL dla postów
- Dodanie stronicowania - Dodanie stronicowania do widoku listy postów
- Tworzenie szablonu stronicowania
- Obsługa błędów stronicowania
 
- Tworzenie widoków opartych na klasach - Po co korzystać z widoków opartych na klasach?
- Użycie widoku opartego na klasie do wyświetlania listy postów
 
- Polecanie postów przez e-mail - Tworzenie formularzy w Django
- Obsługa formularzy w widokach
- Wysyłanie wiadomości e-mail w Django
- Wysyłanie wiadomości e-mail w widokach
- Renderowanie formularzy w szablonach
 
- Utworzenie systemu komentarzy - Tworzenie modelu komentarzy
- Dodawanie modeli do witryny administracyjnej
- Utworzenie formularza na podstawie modelu
- Obsługa klasy ModelForm w widoku
- Tworzenie szablonów formularza komentarza
- Dodawanie komentarzy do widoku szczegółów posta
- Dodawanie komentarzy do szablonu szczegółów posta
 
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 3. Rozbudowa aplikacji bloga
- Dodanie funkcjonalności tagów
- Pobieranie podobnych postów
- Utworzenie własnych filtrów i znaczników szablonu - Utworzenie własnych znaczników szablonu
- Utworzenie tagu szablonu typu simple_tag
- Tworzenie znacznika szablonu typu inclusion_tag
- Tworzenie znacznika szablonu, który zwraca kolekcję QuerySet
- Utworzenie własnych filtrów szablonu
- Tworzenie filtra szablonu obsługującego składnię Markdown
 
- Dodanie mapy witryny
- Utworzenie kanału wiadomości dla postów bloga
- Dodanie do bloga wyszukiwania pełnotekstowego - Instalacja PostgreSQL
- Utworzenie bazy danych PostgreSQL
- Zrzucanie istniejących danych
- Przełączanie bazy danych w projekcie
- Ładowanie danych do nowej bazy danych
- Proste wyszukiwania
- Wyszukiwanie w wielu polach
- Utworzenie widoku wyszukiwania
- Stemming i ranking wyników
- Stemming i usuwanie słów ze stoplisty dla różnych języków
- Wagi zapytań
- Wyszukiwanie z podobieństwem trygramu
 
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 4. Utworzenie witryny społecznościowej
- Utworzenie projektu witryny społecznościowej - Rozpoczęcie pracy nad aplikacją społecznościową
 
- Użycie frameworka uwierzytelniania w Django - Utworzenie widoku logowania
- Użycie widoków uwierzytelniania w Django
- Widoki logowania i wylogowania
- Widoki zmiany hasła
- Widoki odzyskiwania hasła
 
- Rejestracja użytkownika i profile użytkownika - Rejestracja użytkownika
- Rozbudowa modelu User
- Instalowanie modułu Pillow i udostępnianie plików multimedialnych
- Tworzenie migracji dla modelu profilu
- Użycie frameworka messages
 
- Implementacja własnego backendu uwierzytelniania - Uniemożliwianie użytkownikom korzystania z istniejącego adresu e-mail
 
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 5. Implementacja uwierzytelniania za pomocą witryn społecznościowych
- Dodanie do witryny uwierzytelnienia za pomocą innej witryny społecznościowej - Uruchomienie serwera programistycznego za pośrednictwem HTTPS
- Uwierzytelnienie za pomocą serwisu Facebook
- Uwierzytelnienie za pomocą serwisu Twitter
- Uwierzytelnienie za pomocą serwisu Google
- Tworzenie profili dla użytkowników rejestrujących się za pomocą uwierzytelniania społecznościowego
 
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 6. Udostępnianie treści w witrynie internetowej
- Utworzenie witryny internetowej do kolekcjonowania obrazów - Utworzenie modelu Image
- Zdefiniowanie relacji typu "wiele do wielu"
- Rejestracja modelu Image w witrynie administracyjnej
 
- Umieszczanie treści pochodzącej z innych witryn internetowych - Usunięcie zawartości pól formularza
- Instalowanie biblioteki Requests
- Nadpisanie metody save() egzemplarza ModelForm
- Utworzenie bookmarkletu za pomocą JavaScript
 
- Utworzenie szczegółowego widoku obrazu
- Utworzenie miniatur za pomocą modułu easy-thumbnails
- Dodawanie asynchronicznych operacji za pomocą JavaScript - Załadowanie JavaScript w modelu DOM
- Ataki CSRF w żądaniach HTTP w JavaScript
- Wykonywanie żądań HTTP za pomocą JavaScript
 
- Dodanie do listy obrazów nieskończonego stronicowania
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 7. Śledzenie działań użytkownika
- Utworzenie systemu obserwacji - Utworzenie relacji typu "wiele do wielu" za pomocą modelu pośredniego
- Utworzenie widoków listy i szczegółowego dla profilu użytkownika
- Dodanie działań obserwowania i rezygnacji z obserwowania użytkownika za pomocą JavaScript
 
- Budowa aplikacji z ogólnym strumieniem aktywności - Użycie frameworka contenttypes
- Dodanie do modelu relacji generycznych
- Uniknięcie powielonych działań w strumieniu aktywności
- Dodanie działania użytkownika do strumienia aktywności
- Wyświetlanie strumienia aktywności
- Optymalizacja kolekcji QuerySet dotyczącej powiązanych obiektów
- Tworzenie szablonów dla działań użytkowników
 
- Użycie sygnałów dla denormalizowanych zliczeń - Praca z sygnałami
- Definiowanie klas konfiguracyjnych aplikacji
 
- Korzystanie z paska narzędzi Django Debug Toolbar - Instalacja paska narzędzi Django Debug Toolbar
- Panele paska narzędzi Django Debug Toolbar
- Polecenia paska narzędzi Django Debug Toolbar
 
- Zliczanie wyświetleń obrazu za pomocą bazy danych Redis - Instalacja Dockera
- Instalacja bazy danych Redis
- Użycie bazy danych Redis z Pythonem
- Przechowywanie różnych elementów widoków w bazie danych Redis
- Przechowywanie rankingu w bazie danych Redis
- Kolejne kroki z bazą danych Redis
 
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 8. Utworzenie sklepu internetowego
- Utworzenie projektu sklepu internetowego - Utworzenie modeli katalogu produktów
- Rejestracja modeli katalogu w witrynie administracyjnej
- Utworzenie widoków katalogu
- Utworzenie szablonów katalogu
 
- Utworzenie koszyka na zakupy - Użycie sesji Django
- Ustawienia sesji
- Wygaśnięcie sesji
- Przechowywanie koszyka na zakupy w sesji
- Utworzenie widoków koszyka na zakupy
- Utworzenie procesora kontekstu dla bieżącego koszyka na zakupy
 
- Rejestracja zamówień klienta - Utworzenie modeli zamówienia
- Dołączenie modeli zamówienia w witrynie administracyjnej
- Utworzenie zamówień klienta
 
- Zadania asynchroniczne - Wykorzystywanie zadań asynchronicznych
- Wątki robocze, kolejki komunikatów i brokery komunikatów
 
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 9. Zarządzanie płatnościami i zamówieniami
- Integracja bramki płatności - Tworzenie konta Stripe
- Instalowanie biblioteki Pythona do obsługi serwisu Stripe
- Dodanie do projektu obsługi serwisu Stripe
- Budowanie procesu płatności
- Testowanie płatności
- Korzystanie z webhooków do otrzymywania powiadomień o płatnościach
- Odwoływanie się do płatności Stripe w zamówieniach
- Wdrożenie do produkcji
 
- Eksport zamówień do plików CSV - Dodanie własnych działań do witryny administracyjnej
 
- Rozbudowa witryny administracyjnej za pomocą własnych widoków
- Dynamiczne generowanie faktur w formacie PDF - Instalacja WeasyPrint
- Utworzenie szablonu PDF
- Generowanie pliku w formacie PDF
- Wysyłanie dokumentów PDF za pomocą poczty elektronicznej
 
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 10. Rozbudowa sklepu internetowego
- Utworzenie systemu kuponów - Utworzenie modeli kuponu
- Zastosowanie kuponu w koszyku na zakupy
- Zastosowanie kuponu w zamówieniu
- Zastosowanie kuponów w sesji Stripe Checkout
- Dodawanie kuponów do zamówień w serwisie administracyjnym oraz do faktur w formacie PDF
 
- Utworzenie silnika  rekomendacji produktu - Rekomendacja produktu na podstawie wcześniejszych transakcji
 
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 11. Internacjonalizacja sklepu internetowego
- Internacjonalizacja za pomocą Django - Ustawienia internacjonalizacji i lokalizacji
- Polecenia przeznaczone do zarządzania internacjonalizacją
- Instalowanie zestawu narzędzi gettext
- Jak dodać tłumaczenie do projektu Django?
- W jaki sposób Django określa bieżący język?
 
- Przygotowanie projektu do internacjonalizacji
- Tłumaczenie kodu Pythona - Tłumaczenie standardowe
- Tłumaczenie leniwe
- Tłumaczenia zawierające zmienne
- Liczba mnoga w tłumaczeniu
- Tłumaczenie własnego kodu
 
- Tłumaczenie szablonów - Znacznik szablonu {% trans %}
- Znacznik szablonu {% blocktrans %}
- Tłumaczenie szablonów sklepu internetowego
 
- Użycie interfejsu do tłumaczeń o nazwie Rosetta
- Opcja fuzzy
- Wzorce adresów URL dla internacjonalizacji - Dodanie prefiksu języka do wzorców adresów URL
- Tłumaczenie wzorców adresów URL
 
- Umożliwienie użytkownikowi zmiany języka
- Tłumaczenie modeli za pomocą django-parler - Instalacja django-parler
- Tłumaczenie pól modelu
- Integracja tłumaczeń w witrynie administracyjnej
- Utworzenie migracji dla tłumaczeń modeli
- Używanie tłumaczeń z mechanizmem ORM
- Adaptacja widoków dla tłumaczeń
 
- Format lokalizacji
- Użycie modułu django-localflavor do weryfikacji pól formularza
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 12. Budowa platformy e-learningu
- Utworzenie platformy e-learningu
- Obsługa plików multimedialnych
- Utworzenie modeli kursu  - Rejestracja modeli w witrynie administracyjnej
- Użycie fikstur w celu dostarczenia początkowych danych dla modeli
 
- Utworzenie modeli dla zróżnicowanej treści - Wykorzystanie dziedziczenia modelu
- Utworzenie modeli treści
- Utworzenie własnych kolumn modelu
- Dodawanie porządkowania do modułów i obiektów treści
 
- Dodanie widoków uwierzytelniania - Dodanie systemu uwierzytelniania
- Utworzenie szablonów uwierzytelniania
 
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 13. Tworzenie systemu zarządzania treścią
- Utworzenie systemu zarządzania treścią - Utworzenie widoków opartych na klasach
- Użycie domieszek w widokach opartych na klasach
- Praca z grupami i uprawnieniami
 
- Zarządzanie modułami kursu i treścią - Użycie zbiorów formularzy dla modułów kursów
- Dodanie treści do modułów kursów
- Zarządzanie modułami i treścią
- Zmiana kolejności modułów i treści
 
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 14. Renderowanie i buforowanie treści
- Wyświetlanie kursów
- Dodanie rejestracji uczestnika - Utworzenie widoku rejestracji uczestnika
- Zapisanie się na kurs
 
- Uzyskanie dostępu do treści kursu - Renderowanie różnych rodzajów treści
 
- Użycie frameworka buforowania - Dostępne mechanizmy buforowania
- Instalacja Memcached
- Instalowanie obrazu Dockera mechanizmu Memcached
- Instalacja powiązania Memcached dla języka Python
- Ustawienia buforowania we frameworku Django
- Dodanie Memcached do projektu
- Poziomy buforowania
- Użycie niskopoziomowego API buforowania
- Sprawdzanie żądań pobierających dane z bufora za pomocą paska narzędzi Django Debug Toolbar
- Buforowanie fragmentów szablonu
- Buforowanie widoków
- Mechanizm buforowania bazy danych Redis
- Monitorowanie bazy danych Redis za pomocą Django Redisboard
 
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 15. Utworzenie API
- Utworzenie API typu RESTful - Instalacja frameworka REST Django
- Definiowanie serializatorów
- Klasy parserów i renderowania formatów
- Utworzenie widoków listy i szczegółowego
- Wykorzystanie API
- Opracowanie zagnieżdżonych serializatorów
- Tworzenie własnych widoków API
- Obsługa uwierzytelniania
- Określenie uprawnień do widoków
- Utworzenie kolekcji ViewSet i routerów
- Dołączanie dodatkowych operacji do kolekcji ViewSet
- Tworzenie niestandardowych uprawnień
- Serializacja treści kursu
- Wykorzystanie API RESTful
 
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 16. Budowanie serwera czatu
- Utworzenie aplikacji czatu - Implementacja widoku pokoju czatu
 
- Obsługa czasu rzeczywistego w Django za pomocą frameworka Channels - Aplikacje asynchroniczne z wykorzystaniem ASGI
- Cykl żądanie-odpowiedź z wykorzystaniem frameworka Channels
 
- Instalacja frameworka Channels
- Pisanie konsumenta
- Routing
- Implementacja klienta WebSocket
- Warstwa kanału komunikacyjnego - Kanały komunikacyjne i grupy
- Konfiguracja warstwy kanału komunikacyjnego z wykorzystaniem Redis
- Aktualizacja konsumenta w celu rozgłaszania wiadomości
- Dodawanie kontekstu do wiadomości
 
- Modyfikacja konsumenta w celu uzyskania pełnej asynchroniczności
- Integracja aplikacji czatu z istniejącymi widokami
- Dodatkowe zasoby
- Podsumowanie
ROZDZIAŁ 17. Wdrożenie
- Tworzenie środowiska produkcyjnego - Zarządzanie ustawieniami dla wielu środowisk
 
- Korzystanie z systemu Docker Compose - Korzystanie z systemu Docker Compose
- Tworzenie pliku Dockerfile
- Dodanie wymagań Pythona
- Tworzenie pliku Docker Compose
- Konfigurowanie usługi PostgreSQL
- Stosowanie migracji bazy danych i tworzenie superużytkownika
- Konfigurowanie usługi Redis
 
- Serwowanie Django za pomocą WSGI i NGINX - Korzystanie z uWSGI
- Konfiguracja uWSGI
- Korzystanie z NGINX
- Konfiguracja NGINX
- Korzystanie z nazwy hosta
- Udostępnianie zasobów statycznych i multimedialnych
 
- Zabezpieczanie witryny za pomocą protokołu SSL/TLS - Sprawdzenie gotowości projektu do wdrożenia do produkcji
- Konfiguracja projektu do obsługi SSL/TLS
- Utworzenie certyfikatu SSL/TLS
- Konfiguracja serwera NGINX do wykorzystania SSL/TLS
- Przekierowywanie ruchu HTTP do HTTPS
 
- Wykorzystanie serwera Daphne z frameworkiem Django Channels - Wykorzystanie bezpiecznych połączeń dla gniazd WebSocket
- Uwzględnienie Daphne w konfiguracji NGINX
 
- Utworzenie własnej warstwy middleware - Utworzenie oprogramowania middleware do obsługi subdomeny
 
- Implementacja własnych poleceń administracyjnych
- Dodatkowe zasoby
- Podsumowanie






