Description
Django zaskarbił sobie uznanie wielu programistów. Jest to platforma, która udostępnia wszystkie narzędzia potrzebne do tworzenia aplikacji internetowych w Pythonie. To również narzędzie pozwalające na sprawne rozpoczęcie pracy i rozwijanie solidnego i bezpiecznego kodu. Aby jednak zapewnić sobie satysfakcję, a tworzonym projektom profesjonalną jakość, trzeba przyswoić koncepcje i zasady pracy z Django.Dzięki temu praktycznemu przewodnikowi po Django zdobędziesz wiedzę i pewność siebie potrzebne do budowania rzeczywistych aplikacji w Pythonie. W przystępny sposób opisano tu podstawowe koncepcje i funkcje Django, a następnie pokazano poszczególne etapy cyklu rozwoju rzeczywistej aplikacji internetowej. Dla celów dydaktycznych ten dość złożony projekt został podzielony na zbiór mniejszych zadań, dzięki czemu Twoja nauka będzie przebiegała w sposób efektywny i przemyślany. W trakcie wykonywania ćwiczeń zdobędziesz praktyczne umiejętności, niezbędne do budowy przyjemnych w użytkowaniu aplikacji WWW. Przekonasz się, że Django pozwala na efektywne i satysfakcjonujące budowanie nawet bardzo ambitnych projektów!W książce między innymi:konfiguracja projektu Django, szablony HTML i modele danych w Djangopodstawowe elementy aplikacji internetowej, w tym sesje i uwierzytelnianiedodawanie interfejsów API typu REST do aplikacji Djangokorzystanie z zewnętrznych bibliotek Djangotestowanie kodu za pomocą platform testowych Django i PythonaDjango ma wszystko, czego wymaga najlepszy projektant aplikacji WWW! Spis treści: Wstęp Wprowadzenie Rozdział 1. Wprowadzenie do Django Wstęp Tworzenie szkieletu projektu i aplikacji Django Ćwiczenie 1.1. Tworzenie projektu, aplikacji oraz serwera roboczego Paradygmat Model View Template Modele Widoki Szablony Wstęp do HTTP Przetwarzanie żądania Projekt Django Aplikacje Django Konfiguracja programu PyCharm Ćwiczenie 1.2. Konfiguracja projektu w programie PyCharm Szczegółowe informacje o widokachMapowanie adresów URL Ćwiczenie 1.3. Pisanie widoku i odwzorowania URL GET, POST i obiekty QueryDict Ćwiczenie 1.4. Sprawdzanie wartości GET i korzystanie z obiektu QueryDictAnaliza ustawień Django Znajdowanie szablonów HTML w katalogach aplikacji Ćwiczenie 1.5. Tworzenie katalogu templates oraz szablonu bazowego Renderowanie szablonu za pomocą funkcji render Ćwiczenie 1.6. Renderowanie szablonu w widoku Renderowanie zmiennych w szablonach Ćwiczenie 1.7. Użycie zmiennych w szablonach Debugowanie i obsługa błędów Wyjątki Ćwiczenie 1.8. Generowanie i wyświetlanie wyjątkówDebugowanie Ćwiczenie 1.9. Debugowanie kodu Zadanie 1.1. Tworzenie ekranu powitalnego witrynyZadanie 1.2. Szkielet wyszukiwarki w witrynie BookPodsumowanie Rozdział 2. Modele i migracje Wstęp Bazy danych Relacyjne bazy danych Nierelacyjne bazy danych Operacje bazodanowe z użyciem języka SQL Typy danych w relacyjnych bazach danych Ćwiczenie 2.1. Tworzenie bazy danych książek Operacje CRUD w języku SQL Operacje tworzenia w języku SQL Operacje odczytu w języku SQL Operacje aktualizacji w języku SQL Operacje usuwania w języku SQL ORM w platformie Django Konfiguracja bazy danych i tworzenie aplikacji Django Aplikacje Django Migracje Django Tworzenie modeli i migracji Django Typy pól Opcje pól Klucze główne Relacje Wiele do jednego Wiele do wielu Relacje jeden do jednego Dodawanie modelu Review Metody modeli Migracja aplikacji reviews Operacje bazodanowe CRUD w Django Ćwiczenie 2.2. Tworzenie wpisu w bazie danych Bookr Ćwiczenie 2.3. Tworzenie wpisu za pomocą metody create() Tworzenie obiektu z kluczem obcym Ćwiczenie 2.4. Tworzenie rekordów dla relacji wiele do jednego Ćwiczenie 2.5. Tworzenie rekordów z relacjami wiele do wielu Ćwiczenie 2.6. Relacja wiele do wielu z wykorzystaniem metody add() Użycie metod create() i set() podczas tworzenia relacji Operacje odczytu Ćwiczenie 2.7. Pobieranie obiektu za pomocą metody get() Zwracanie obiektu za pomocą metody get()Ćwiczenie 2.8. Użycie metody al() do pobrania zbioru obiektów Pobieranie obiektów za pomocą filtrowania Ćwiczenie 2.9. Użycie metody filter() do pobierania obiektówFiltrowanie za pomocą wyszukiwania pól Dopasowywanie wzorców w operacjach filtrowania Pobieranie obiektów poprzez wykluczanie Pobieranie obiektów za pomocą metody order_by() Przeszukiwanie relacji Wyszukiwanie na podstawie kluczy obcych Przeszukiwanie na podstawie nazwy modelu Przeszukiwanie relacji z kluczem obcym za pomocą instancji obiektu Ćwiczenie 2.10. Znajdowanie obiektów na podstawie relacji wiele do wielu za pomocą wyszukiwania pola Ćwiczenie 2.11. Przeszukiwanie relacji wiele do wielu za pomocą obiektów Ćwiczenie 2.12. Przeszukiwanie relacji wiele do wielu za pomocą metody set() Ćwiczenie 2.13. Użycie metody update() Ćwiczenie 2.14. Użycie metody delete() Zadanie 2.1. Tworzenie modeli dla aplikacji do zarządzania projektami Wypełnianie danymi bazy danych projektu Bookr Podsumowanie Rozdział 3. Mapowanie URL, widoki i szablony Wstęp Widoki oparte na funkcjach Widoki oparte na klasach Konfiguracja URL Ćwiczenie 3.1. Implementowanie prostego widoku opartego na funkcji Szablony Ćwiczenie 3.2. Użycie szablonów do wyświetlenia komunikatu powitalnego Język szablonów Django Ćwiczenie 3.3. Wyświetlanie listy książek i recenzji Dziedziczenie szablonów Stylowanie szablonów za pomocą biblioteki Bootstrap Ćwiczenie 3.4. Dodawanie dziedziczenia szablonów i paska nawigacyjnego Bootstrapa Zadanie 3.1. Implementacja widoku szczegółów książki Podsumowanie Rozdział 4. Wstęp do witryny administracyjnej Django Wstęp Tworzenie konta superużytkownika Ćwiczenie 4.1. Tworzenie konta superużytkownika Operacje CRUD za pomocą aplikacji administracyjnej Django Tworzenie Pobieranie danych Aktualizowanie Usuwanie Użytkownicy i grupy Ćwiczenie 4.2. Dodawanie i modyfikowanie użytkowników i grup w aplikacji administracyjnejRejestrowanie modelu Reviews Listy obiektów do edycji Strona edycji modelu Publisher Strona służąca do edycji książki Ćwiczenie 4.3. Klucze obce i usuwanie z poziomu aplikacji administracyjnejDostosowywanie interfejsu administracyjnego Poprawki dotyczące całej witryny administracyjnej Django Analiza obiektu AdminSite w powłoce PythonaZadanie 4.1. Dostosowywanie obiektu SiteAdmin Dostosowywanie klas ModelAdmin Ćwiczenie 4.4. Dodawanie filtra na podstawie daty oraz hierarchii dat Pasek wyszukiwania Wykluczanie i grupowanie pól Zadanie 4.2. Dostosowywanie aplikacji administracyjnych dla modeliPodsumowanie Rozdział 5. Zwracanie plików statycznychWstęp Zwracanie plików statycznych Wprowadzenie do wyszukiwarek plików statycznych Wyszukiwarki plików statycznych – użycie podczas obsługi żądania AppDirectoriesFinder Przestrzenie nazw plików statycznychĆwiczenie 5.1. Zwracanie pliku z katalogu aplikacji Generowanie statycznych adresów URL za pomocą znacznika szablonów static Ćwiczenie 5.2. Użycie znacznika szablonów static FileSystemFinder Ćwiczenie 5.3. Zwracanie plików z katalogu static projektu Wyszukiwarki plików statycznych – użycie polecenia collectstatic Ćwiczenie 5.4. Kopiowanie plików statycznych dla środowiska produkcyjnego Tryb STATICFILES_DIRS z przedrostkiem Polecenie findstatic Ćwiczenie 5.5. Znajdowanie plików poleceniem findstatic Zwracanie ostatnich plików (w celu unieważnienia pamięci podręcznej) Ćwiczenie 5.6. Eksploracja silnika przechowywania ManifestFilesStorage Niestandardowe silniki magazynowania Zadanie 5.1. Dodawanie logo do aplikacji reviews Zadanie 5.2. Ulepszenia w stylach CSS Zadanie 5.3. Dodawanie globalnego logo Podsumowanie Rozdział 6. Formularze Wstęp Czym jest formularz? Element Rodzaje pól wejściowych Ćwiczenie 6.1. Tworzenie formularza HTML Bezpieczeństwo formularza dzięki ochronie przeciwko Cross-Site Request Forgery Dostęp do danych w widoku Ćwiczenie 6.2. Pobieranie danych POST w widoku Wybór między żądaniami GET i POST Dlaczego trzeba używać metody GET, jeśli można umieścić parametry w URL? Biblioteka Forms w Django Definiowanie formularza Renderowanie formularza w szablonie Ćwiczenie 6.3. Tworzenie i renderowanie formularza Django Walidacja formularzy i pobieranie wartości PythonaĆwiczenie 6.4. Walidacja formularza w widoku Wbudowana walidacja pól Ćwiczenie 6.5. Dodatkowa walidacja pól Zadanie 6.1. Wyszukiwanie książek Podsumowanie Rozdział 7. Zaawansowana walidacja formularzy i formularzy modeliWstęp Niestandardowa walidacja i czyszczenie pól Niestandardowe walidatory Metody oczyszczania Walidacja na podstawie wielu pól Ćwiczenie 7.1. Niestandardowe metody oczyszczania i walidacjiWartości zastępcze i początkowe Ćwiczenie 7.2. Wartości zastępcze i początkowe Tworzenie i edytowanie modeli Django Klasa ModelForm Ćwiczenie 7.3. Tworzenie i edytowanie modelu Publisher Zadanie 7.1. Stylowanie i integracja formularza modelu PublisherZadanie 7.2. Interfejs tworzenia instancji modelu Review Podsumowanie Rozdział 8. Zwracanie multimediów i przesyłanie plikówWstęp Ustawienia związane z przesyłaniem i zwracaniem plików multimedialnychZwracanie plików multimedialnych w środowisku roboczym Ćwiczenie 8.1. Konfiguracja magazynu plików multimedialnych i ich zwracanie Procesory kontekstu i użycie opcji MEDIA_URL w szablonachĆwiczenie 8.2. Ustawienia szablonu i użycie opcji MEDIA_URL w szablonach Przesyłanie plików za pomocą formularzy HTMLObsługa przesłanych plików w widoku Ćwiczenie 8.3. Przesyłanie i pobieranie plików Przesyłanie plików za pomocą formularzy Django Ćwiczenie 8.4. Przesyłanie plików za pomocą formularza Django Przesyłanie obrazów za pomocą formularzy Django Zmiana rozmiaru obrazów za pomocą biblioteki Pillow Ćwiczenie 8.5. Przesyłanie obrazów za pomocą formularzy Django Zwracanie przesłanych (i innych) plików za pomocą Django Magazynowanie plików w instancjach modeli Zapisywanie obrazów w instancjach modeli Korzystanie z klasy FieldFile Odwoływanie się do plików multimedialnych w szablonach Ćwiczenie 8.6. FileField i ImageField w modelach Klasa ModelForm i przesyłanie plików Ćwiczenie 8.7. Przesyłanie plików i obrazów za pomocą instancji klasy ModelForm Zadanie 8.1. Przesyłanie obrazu i plików PDF dotyczących książekZadanie 8.2. Wyświetlanie okładki i łącza do fragmentu książkiPodsumowanie Rozdział 9. Sesje i uwierzytelnianie Wstęp Middleware Moduły middleware Implementacja widoków i szablonów do uwierzytelniania Ćwiczenie 9.1. Zmiana przeznaczenia szablonu logowania aplikacji administracyjnejPrzechowywanie haseł w DjangoStrona profilu i obiekt request.userĆwiczenie 9.2. Dodawanie strony profiluDekoratory uwierzytelniania i przekierowania Ćwiczenie 9.3. Dodawanie dekoratorów uwierzytelniania do widokówDodawanie danych uwierzytelniania do szablonów Ćwiczenie 9.4. Przełączanie łączy logowania i wylogowania w bazowym szablonie Zadanie 9.1. Udostępnianie treści na podstawie stanu uwierzytelnienia za pomocą bloków warunkowych w szablonach Sesje Moduł pickle lub magazyn w formacie JSONĆwiczenie 9.5. Analiza klucza sesji Przechowywanie danych w sesji Ćwiczenie 9.6. Zapisywanie w sesji ostatnio wyświetlanych książekZadanie 9.2. Wykorzystanie magazynu sesji na stronie wyszukiwania książekPodsumowanie Rozdział 10. Zaawansowane aspekty aplikacji administracyjnej Django i jej dostosowywanie Wstęp Dostosowywanie witryny administracyjnej Wykrywanie plików administracyjnych w Django Klasa AdminSite w Django Ćwiczenie 10.1. Tworzenie niestandardowej witryny administracyjnej w projekcie Bookr Nadpisywanie domyślnej właściwości admin.siteĆwiczenie 10.2. Nadpisywanie domyślnej witryny administracyjnejDostosowanie tekstu w witrynie administracyjnej za pomocą atrybutów AdminSiteDostosowywanie szablonów witryny administracyjnejĆwiczenie 10.3. Dostosowanie szablonu wylogowania dla witryny administracyjnej Bookr Dodawanie widoków do witryny administracyjnej Tworzenie nowej funkcji widoku Dostęp do wspólnych zmiennych szablonu Mapowanie adresów URL na niestandardowy widok Ograniczanie niestandardowych widoków do witryny administracyjnejĆwiczenie 10.4. Dodawanie niestandardowych widoków do witryny administracyjnej Przekazywanie dodatkowych kluczy do szablonów za pomocą zmiennych szablonów Zadanie 10.1. Tworzenie niestandardowego interfejsu administracyjnego z wbudowaną wyszukiwarką Podsumowanie Rozdział 11. Zaawansowane aspekty szablonów i widoki oparte na klasach Wstęp Filtry szablonów Niestandardowe filtry szablonów Filtry szablonów Konfiguracja katalogu służącego do zapisywania filtrów szablonów Konfiguracja biblioteki szablonów Implementowanie niestandardowej funkcji filtraUżycie niestandardowych filtrów w szablonachĆwiczenie 11.1. Tworzenie niestandardowego filtra szablonówFiltry tekstowe Znaczniki szablonów Typy znaczników szablonów Proste znaczniki Tworzenie prostych znaczników szablonów Ćwiczenie 11.2. Tworzenie niestandardowego prostego znacznikaZnaczniki włączające Ćwiczenie 11.3. Budowanie niestandardowego znacznika włączającegoWidoki Django Widoki oparte na klasach Ćwiczenie 11.4. Tworzenie katalogu książek w widoku opartym na klasachOperacje CRUD za pomocą widoków opartych na klasachZadanie 11.1. Renderowanie szczegółów na stronie profilu użytkownika za pomocą znaczników włączających Podsumowanie Rozdział 12. Tworzenie API REST-owegoWstęp API REST-owe Django REST Framework Instalacja i konfiguracja Widoki API oparte na funkcjachĆwiczenie 12.1. Tworzenie prostego API REST-owegoSerializery Ćwiczenie 12.2. Tworzenie widoku API w celu wyświetlenia listy książekWidoki API oparte na klasach i widoki generyczneSerializery modeli Ćwiczenie 12.3. Tworzenie widoków API opartych na klasach i serializerów modeliZadanie 12.1. Tworzenie punktu końcowego API dla strony poświęconej najaktywniejszym współautoromObiekty typu ViewSet Routery Ćwiczenie 12.4. Używanie zbiorów widoków i routerów Uwierzytelnianie Uwierzytelnianie oparte na tokenach Ćwiczenie 12.5. Implementowanie uwierzytelniania opartego na tokenach w API aplikacji Bookr Podsumowanie Rozdział 13. Generowanie plików CSV, PDF i innych plików binarnychWstęp Obsługa plików CSV w Pythonie Korzystanie z modułu csv Pythona Odczytywanie danych z pliku CSV Ćwiczenie 13.1. Odczyt pliku CSV w PythonieZapisywanie danych do plików CSV za pomocą PythonaĆwiczenie 13.2. Generowanie pliku CSV za pomocą modułu Pythona csvLepszy sposób odczytu i zapisu plików CSV Przetwarzanie plików Excela w Pythonie Eksportowanie danych do plików binarnychObsługa plików XLSX za pomocą pakietu XlsxWriterĆwiczenie 13.3. Tworzenie plików XLSX w PythonieObsługa plików PDF w Pythonie Przekształcanie stron WWW do formatu PDFĆwiczenie 13.4. Generowanie dokumentu PDF na podstawie strony WWW w Pythonie Tworzenie wykresów w Pythonie Generowanie wykresów za pomocą biblioteki plotlyĆwiczenie 13.5. Generowanie wykresów w PythonieIntegrowanie biblioteki plotly z DjangoIntegrowanie wizualizacji z Django Ćwiczenie 13.6. Wizualizacja historii przeczytanych książek na stronie profilowej użytkownikaZadanie 13.1. Eksportowanie książek przeczytanych przez użytkownika do pliku XLSXPodsumowanie Rozdział 14. TestowanieWstęp Dlaczego testowanie jest ważne Testy automatyczne Testowanie w Django Implementowanie przypadków testowychTesty jednostkowe w DjangoKorzystanie z asercjiĆwiczenie 14.1. Pisanie prostego testu jednostkowegoKonfiguracja przed testami i czyszczenie po wykonaniu każdego przypadku testowegoTestowanie modeli Django Ćwiczenie 14.2. Testowanie modeli DjangoTestowanie widoków Django Ćwiczenie 14.3. Pisanie przypadków testowych dla widoków DjangoTestowanie widoków wymagających uwierzytelnianiaĆwiczenie 14.4. Pisanie przypadków testowych w celu walidacji uwierzytelnionych użytkownikówKlasa RequestFactory Django Ćwiczenie 14.5. Testowanie widoków za pomocą klasy RequestFactoryTestowanie widoków opartych na klasachKlasy przypadków testowych w Django SimpleTestCase TransactionTestCase LiveServerTestCase Modularyzacja kodu testowego Zadanie 14.1. Testowanie modeli i widoków w projekcie BookrPodsumowanie Rozdział 15. Zewnętrzne biblioteki DjangoWstęp Zmienne środowiskowe django-configurations Zmiany w pliku manage.py Konfiguracja ze zmiennych środowiskowychĆwiczenie 15.1. Konfiguracja biblioteki django-configurations dj-database-url Ćwiczenie 15.2. Konfiguracja biblioteki dj-database-urlDjango Debug ToolbarĆwiczenie 15.3. Konfiguracja narzędzia Django Debug Toolbardjango-crispy-forms Filtr crispy Znacznik szablonów crispyĆwiczenie 15.4. Użycie biblioteki Django Crispy Forms z formularzem SearchFormdjango-allauth Inicjalizacja uwierzytelniania za pomocą biblio
teki django-allauthZadanie 15.1. Aktualizacja formularza z wykorzystaniem klasy FormHelper Podsumowanie Rozdział 16. Używanie frontendowej biblioteki JavaScriptu z DjangoWstęp Platformy JavaScriptu Wprowadzenie do JavaScriptu React Komponenty Ćwiczenie 16.1. Konfiguracja przykładowej strony z wykorzystaniem ReactaJSX Ćwiczenie 16.2. JSX i Babel Właściwości JSX Ćwiczenie 16.3. Właściwości komponentu ReactaObiekty Promise w JavaScripcie fetch Ćwiczenie 16.4. Pobieranie i wyświetlanie książekZnacznik szablonów verbatimZadanie 16.1. Podgląd recenzjiPodsumowanie Dodatek A Skorowidz
Pozostałe E-booki
fisker, fabryki vw, parki narodowe w polsce, szczepienie dziecka, kaskada napój, us żagań, grupa image, kazimiera utrata, szydło tymoteusz, 40 dolarów ile to zł, restauracje amaro, wallenberga
yyyyy