Django 5. Praktyczne tworzenie aplikacji internetowych w Pythonie. Wydanie V Mińsk Mazowiecki

Django pozwala na pełne wykorzystanie zalet Pythona, a przy tym jest bardzo przyjemny w pracy. Dzięki niemu programiści na różnym poziomie zaawansowania mogą efektywnie tworzyć aplikacje internetowe. W corocznej ankiecie dla programistów serwisu Stack Overflow od kilku lat Django jest wybierany …

od 126,53 Najbliżej: 49 km

Liczba ofert: 1

Oferta sklepu

Opis

Django pozwala na pełne wykorzystanie zalet Pythona, a przy tym jest bardzo przyjemny w pracy. Dzięki niemu programiści na różnym poziomie zaawansowania mogą efektywnie tworzyć aplikacje internetowe. W corocznej ankiecie dla programistów serwisu Stack Overflow od kilku lat Django jest wybierany jako jeden z najbardziej lubianych frameworków webowych. To piąte, zaktualizowane i uzupełnione wydanie bestsellerowego przewodnika po tworzeniu aplikacji internetowych za pomocą Django. Pokazano tu proces planowania i budowy atrakcyjnych aplikacji, rozwiązywania typowych problemów i implementacji najlepszych praktyk programistycznych. Podczas tworzenia aplikacji, takich jak blog, serwis społecznościowy, aplikacja e-commerce i platforma e-learningowa, zapoznasz się z szerokim zakresem zagadnień związanych z tworzeniem złożonych aplikacji internetowych w Pythonie. Krok po kroku, dzięki szczegółowym planom projektów, dowiesz się, jakie korzyści niesie ze sobą praca z Django 5, i zrozumiesz zasady tworzenia aplikacji przy użyciu tego frameworka. W książce: podstawy Django, w tym modele, ORM, widoki, szablony, adresy URL, formularze, uwierzytelnianie, sygnały i warstwy middleware integracja projektu aplikacji Django z zewnętrznym oprogramowaniem praca z Redis, PostgreSQL, Celery, RabbitMQ i Memcached konfiguracja środowiska produkcyjnego za pomocą Docker Compose budowa RESTful API za pomocą Django Rest Framework implementacja zaawansowanych funkcji i tworzenie ASGI Django 5. Ciesz się doskonałością swoich aplikacji! Spis treści: Słowo wstępne O autorze O recenzencie O czytelnikach wersji beta Przedmowa Rozdział 1. Utworzenie aplikacji bloga Instalacja Pythona Tworzenie środowiska wirtualnego w Pythonie Instalacja Django Instalowanie Django za pomocą pip Ogólne informacje na temat frameworka Django Główne komponenty frameworka Architektura Django Nowe funkcjonalności w Django 5 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 Dodawanie liczby aspektów do filtrów Praca z obiektami QuerySet i menedżerami Tworzenie obiektów Aktualizowanie obiektów Pobieranie obiektów Filtrowanie obiektów Korzystanie z różnych metod dopasowywania pól Łączenie filtrów w łańcuch Wykluczanie obiektów Sortowanie obiektów Ograniczanie wynikowych obiektów QuerySet Zliczanie obiektów Sprawdzanie, czy obiekt istnieje Usuwanie obiektów Złożone dopasowania z wykorzystaniem obiektów Q Kiedy następuje określenie zawartości kolekcji QuerySet? Więcej informacji o obiektach 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ź Polecenia zarządzające używane w tym rozdziale Podsumowanie Zasoby dodatkowe Rozdział 2. Usprawnianie bloga i dodanie funkcjonalności społecznościowych Przegląd funkcjonalności 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 Użycie 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 Korzystanie ze zmiennych środowiskowych Wysyłanie wiadomości e-mail w widokach Renderowanie formularzy w szablonach Utworzenie systemu komentarzy Tworzenie modelu komentarzy Dodawanie modeli do witryny administracyjnej Utworzenie formularzy na podstawie modeli Obsługa klasy ModelForm w widokach Tworzenie szablonów formularza komentarza Dodawanie komentarzy do widoku szczegółów posta Dodawanie komentarzy do szablonu szczegółów posta Uproszczone szablony do renderowania pól formularzy Podsumowanie Dodatkowe zasoby Rozdział 3. Rozbudowa aplikacji bloga Przegląd funkcjonalności Implementacja systemu tagowania za pomocą modułu django-taggit Pobieranie postów według podobieństwa 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 Dockera Instalacja 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 Podsumowanie Rozszerzanie projektu z wykorzystaniem sztucznej inteligencji Dodatkowe zasoby Rozdział 4. Utworzenie witryny społecznościowej Przegląd funkcjonalności 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 wbudowanych 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 Profile Podsumowanie Dodatkowe zasoby Rozdział 5. Implementacja uwierzytelniania za pomocą witryn społecznościowych Przegląd funkcjonalności Wymagania techniczne Użycie frameworka messages Implementacja własnego backendu uwierzytelniania Uniemożliwianie użytkownikom korzystania z istniejącego adresu e-mail Dodanie do witryny uwierzytelnienia za pomocą innej witryny społecznościowej Uruchomienie serwera programistycznego za pośrednictwem HTTPS Uwierzytelnianie za pomocą serwisu Google Tworzenie profili dla użytkowników rejestrujących się za pomocą uwierzytelniania społecznościowego Podsumowanie Dodatkowe zasoby Rozdział 6. Udostępnianie treści w witrynie internetowej Przegląd funkcjonalności 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 Podsumowanie Dodatkowe zasoby Rozdział 7. Śledzenie działań użytkownika Przegląd funkcjonalności Utworzenie systemu obserwacji Utworzenie relacji typu "wiele do wielu" za pomocą modelu pośredniego Utworzenie widoków listy i szczegółów dla profilu użytkownika Dodanie działań obserwowania i rezygnacji z obserwowania użytkownika za pomocą JavaScript Opracowanie strumienia aktywności aplikacji 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 bazy danych Redis Użycie bazy danych Redis z Pythonem Przechowywanie widoków obrazów w bazie danych Redis Przechowywanie rankingu w bazie danych Redis Kolejne kroki z bazą danych Redis Podsumowanie Rozszerzanie projektu przy użyciu sztucznej inteligencji Dodatkowe zasoby Rozdział 8. Utworzenie sklepu internetowego Przegląd funkcjonalności 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 frameworka sessions 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 do witryny administracyjnej Utworzenie zamówień klienta Zadania asynchroniczne Wykorzystywanie zadań asynchronicznych Wątki robocze, kolejki komunikatów i brokery komunikatów Podsumowanie Dodatkowe zasoby Rozdział 9. Zarządzanie płatnościami i zamówieniami Przegląd funkcjonalności Integracja bramki płatności Utworzenie konta Stripe Instalowanie biblioteki Pythona 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 Renderowanie plików w formacie PDF Wysyłanie dokumentów PDF za pomocą poczty elektronicznej Podsumowanie Dodatkowe zasoby Rozdział 10. Rozbudowa sklepu internetowego Przegląd funkcjonalności 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 produktów Rekomendacja produktów na podstawie wcześniejszych transakcji Podsumowanie Dodatkowe zasoby Rozdział 11. Internacjonalizacja sklepu internetowego Przegląd funkcjonalności 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łumaczeniach Tłumaczenie własnego kodu Tłumaczenie szablonów Znacznik szablonu {% translate %} Znacznik szablonu {% blocktranslate %} Tłumaczenie szablonów sklepu internetowego Użycie interfejsu do tłumaczeń o nazwie Rosetta Tłumaczenia niejednoznaczne 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 Korzystanie z tłumaczeń w kolekcjach QuerySet Adaptacja widoków dla tłumaczeń Lokalizacja formatów Użycie modułu django-localflavor do weryfikacji pól formularza Rozszerzanie projektu przy użyciu sztucznej inteligencji Podsumowanie Dodatkowe zasoby Rozdział 12. Budowa platformy e-learningu Przegląd funkcjonalności 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 modeli Utworzenie modeli treści Utworzenie własnych pól modelu Dodawanie porządkowania do modułów i obiektów treści Dodanie widoków uwierzytelniania Dodanie systemu uwierzytelniania Utworzenie szablonów uwierzytelniania Podsumowanie Dodatkowe zasoby Rozdział 13. Tworzenie systemu zarządzania treścią Przegląd funkcjonalnoś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 Używanie domieszek z pakietu django-braces Podsumowanie Dodatkowe zasoby Rozdział 14. Renderowanie i buforowanie treści Przegląd funkcjonalności Wyświetlanie katalogu kursów Dodanie rejestracji uczestnika Utworzenie widoku rejestracji uczestnika Zapisanie się na kurs Renderowanie treści kursu Uzyskanie dostępu do treści kursu Renderowanie różnych rodzajów treści Użycie frameworka buforowania Dostępne backendy buforowania Instalacja Memcached Instalowanie obrazu Docker 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 Niskopoziomowe buforowanie na podstawie danych dynamicznych Buforowanie fragmentów szablonu Buforowanie widoków Użycie bufora dla poszczególnych witryn Backend buforowania oparty na bazie danych Redis Monitorowanie bazy danych Redis za pomocą Django Redisboard Podsumowanie Dodatkowe zasoby Rozdział 15. Utworzenie API Przegląd funkcjonalności 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 Rozszerzanie serializatorów Dodawanie pól do serializatorów Implementacja w serializatorach pól obliczanych za pomocą metod Dodawanie stronicowania do widoków Tworzenie serializatora kursów Serializacja relacji Opracowanie zagnieżdżonych serializatorów Utworzenie kolekcji ViewSet i routerów Tworzenie własnych widoków API Obsługa uwierzytelniania Implementacja podstawowego uwierzytelniania Określenie uprawnień do widoków Dołączanie dodatkowych operacji do kolekcji ViewSet Tworzenie niestandardowych uprawnień Serializacja treści kursu Wykorzystanie API RESTful Podsumowanie Dodatkowe zasoby Rozdział 16. Budowanie serwera czatu Przegląd funkcjonalności Utworzenie aplikacji czatu Implementacja widoku pokoju czatu Komunikacja w czasie rzeczywistym w Django za pomocą frameworka Channels Aplikacje asynchroniczne z wykorzystaniem ASGI Cykl żądanie-odpowiedź z wykorzystaniem frameworka Channels Instalacja frameworków Channels i Daphne 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 Utrwalanie wiadomości w bazie danych Utworzenie modelu dla wiadomości czatu Dodanie modelu Message do witryny administracyjnej Zapisywanie wiadomości w bazie danych Wyświetlanie historii czatu Integracja aplikacji czatu z istniejącymi widokami Podsumowanie Dodatkowe zasoby Rozdział 17. Wdrożenie Tworzenie środowiska produkcyjnego Zarządzanie ustawieniami dla wielu środowisk Korzystanie z systemu Docker Compose Instalacja Docker Compose za pośrednictwem Docker Desktop 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 Konfiguracja serwera Daphne do wykorzystania 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 Podsumowanie Rozszerzanie projektu przy użyciu sztucznej inteligencji Dodatkowe zasoby O autorze: Antonio Melé jest informatykiem, a projektami Django zajmuje się od 2006 roku. Opiekuje się hiszpańską społecznością użytkowników Django (django.es). Jest założycielem Zenx IT — firmy informatycznej tworzącej aplikacje sieciowe dla klientów z różnych sektorów gospodarki. Melé brał również udział w tworzeniu wielu startupów informatycznych.

Specyfikacja

Podstawowe informacje

Autor
  • Antonio Mele
Wydawnictwo
  • Helion
Okładka
  • Miękka
Rok wydania
  • 2025
Ilość stron
  • 744
Tematyka
  • Programowanie
ISBN
  • 9788328918825