Django 3. Практическая разработка веб-приложений
Товар
- 0 раз купили
- 4.89 оценка
- 2 осталось
- 80 отзывов
Доставка
Характеристики
Описание
Rok wydania: 2021
Oprawa: miękka
Ilość stron:488
Format:16,5 x 23,5 cm
Django 3. Praktyczne tworzenie aplikacji sieciowych. Wydanie III
Antonio Melé
Twórz od podstaw rozbudowane i niezawodne aplikacje webowe w Pythonie
Django jest potężnym frameworkiem służącym do tworzenia aplikacji internetowych w Pythonie. Pozwala na pełne wykorzystywanie zalet tego języka, takich jak przejrzystość, elastyczność, wszechstronność i łatwość uczenia się. Wykorzystywanie Django do budowania aplikacji w Pythonie jest atrakcyjną możliwością zarówno dla początkujących, jak i zaawansowanych programistów. Aby jednak zapewnić tworzonym projektom odpowiednią, profesjonalną jakość, trzeba się nauczyć rozwiązywać problemy powstające podczas tworzenia aplikacji internetowych, stosować najlepsze praktyki programistyczne, a także skutecznie wdrażać i testować aplikację.
To trzecie wydanie praktycznego przewodnika po budowie aplikacji internetowych. Krok po kroku opisano w nim wszystkie istotne elementy procesu projektowania i wdrażania aplikacji: bloga, witryny społecznościowej, sklepu internetowego oraz platformy e-learningowej. Zawarte tu szczegółowe wskazówki pomogą integrować popularne technologie, usprawniać aplikacje z wykorzystaniem technik AJAX, tworzyć API REST oraz konfigurować środowisko produkcyjne dla projektów Django. Dzięki tej książce niepostrzeżenie opanujesz najistotniejsze zasady pracy w Django - i czym prędzej zaczniesz od podstaw budować praktyczne projekty. Nowością w tym wydaniu jest rozdział poświęcony projektowaniu serwera czatu z wykorzystaniem serwera Django Channels.
W tej książce:
- praktyczna strona projektowania aplikacji internetowych
- podstawy Django, w tym ORM, szablony, adresy URL, formularze i uwierzytelnianie
- funkcje zaawansowane: niestandardowe pola modelu i oprogramowanie pośredniczące
- wykorzystanie technik AJAX, system płatności, CMS, API RESTful
- integracja projektu z takimi technologiami jak Redis, RabbitMQ, PostgreSQL i Channels
- wdrażanie projektów Django za pomocą NGINX, uWSGI i Daphne
Django - wypróbowany framework dla profesjonalnych projektantów!
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.
Spis treści
O autorze 12
O recenzentach 13
Przedmowa 15
Rozdział 1. Utworzenie aplikacji bloga 21
- Instalacja Django 22
Utworzenie odizolowanego środowiska Pythona 23
Instalowanie Django za pomocą pip 23
- Tworzenie pierwszego projektu 24
Uruchamianie serwera programistycznego 25
Ustawienia projektu 27
Projekty i aplikacje 28
Utworzenie aplikacji 28
- Projekt schematu danych dla bloga 30
Aktywacja aplikacji 32
Tworzenie i stosowanie migracji 32
- Tworzenie witryny administracyjnej dla modeli 34
Tworzenie superużytkownika 34
Witryna administracyjna Django 34
Dodawanie modeli do witryny administracyjnej 35
Personalizacja sposobu wyświetlania modeli 37
- Praca z obiektami QuerySet i menedżerami 39
Tworzenie obiektów 39
Aktualizowanie obiektów 40
Pobieranie obiektów 41
Usunięcie obiektu 42
Kiedy następuje określenie zawartości kolekcji QuerySet? 42
Utworzenie menedżerów modelu 42
- Przygotowanie widoków listy i szczegółów 44
Utworzenie widoków listy i szczegółów 44
Dodanie wzorców adresów URL do widoków 45
Kanoniczne adresy URL dla modeli 47
- Utworzenie szablonów dla widoków 47
- Dodanie stronicowania 50
- Użycie widoków opartych na klasach 52
- Podsumowanie 54
Rozdział 2. Usprawnienie bloga za pomocą funkcji zaawansowanych 55
- Współdzielenie postów przy użyciu wiadomości e-mail 56
Tworzenie formularzy w Django 56
Obsługa formularzy w widokach 57
Wysyłanie wiadomości e-mail w Django 59
Generowanie formularza w szablonie 61
- Utworzenie systemu komentarzy 65
Budowanie modelu 65
Utworzenie formularza na podstawie modelu 67
Obsługa klasy ModelForm w widoku 67
Dodanie komentarzy do szablonu szczegółów posta 69
- Dodanie funkcjonalności tagów 72
- Pobieranie podobnych postów 77
- Podsumowanie 80
Rozdział 3. Rozbudowa aplikacji bloga 81
- Utworzenie własnych filtrów i znaczników szablonu 82
Utworzenie własnych znaczników szablonu 82
Utworzenie własnych filtrów szablonu 87
- Dodanie mapy witryny 89
- Utworzenie kanału wiadomości dla postów bloga 92
- Dodanie do bloga wyszukiwania pełnotekstowego 95
Instalacja PostgreSQL 95
Proste wyszukiwania 96
Wyszukiwanie w wielu polach 97
Utworzenie widoku wyszukiwania 97
Stemming i ranking wyników 100
Wagi zapytań 101
Wyszukiwanie z podobieństwem trygramu 101
Inne silniki wyszukiwania pełnotekstowego 102
- Podsumowanie 102
Rozdział 4. Utworzenie witryny społecznościowej 103
- Utworzenie projektu witryny społecznościowej 104
Rozpoczęcie pracy nad aplikacją społecznościową 104
- Użycie frameworka uwierzytelniania w Django 105
Utworzenie widoku logowania 106
Użycie widoków uwierzytelniania w Django 111
Widoki logowania i wylogowania 112
Widoki zmiany hasła 117
Widoki zerowania hasła 119
- Rejestracja użytkownika i profile użytkownika 124
Rejestracja użytkownika 124
Rozbudowa modelu User 127
Użycie frameworka komunikatów 133
- Implementacja własnego mechanizmu uwierzytelniania 135
- Dodanie do witryny uwierzytelnienia za pomocą innej witryny społecznościowej 137
Uruchomienie serwera programistycznego za pośrednictwem HTTPS 139
Uwierzytelnienie za pomocą serwisu Facebook 140
Uwierzytelnienie za pomocą serwisu Twitter 145
Uwierzytelnienie za pomocą serwisu Google 148
- Podsumowanie 153
Rozdział 5. Udostępnianie treści w witrynie internetowej 155
- Utworzenie witryny internetowej do kolekcjonowania obrazów 156
Utworzenie modelu Image 156
Zdefiniowanie relacji typu "wiele do wielu" 158
Rejestracja modelu Image w witrynie administracyjnej 158
- Umieszczanie treści pochodzącej z innych witryn internetowych 159
Usunięcie zawartości pól formularza 160
Nadpisanie metody save() egzemplarza ModelForm 160
Utworzenie bookmarkletu za pomocą jQuery 165
- Utworzenie szczegółowego widoku obrazu 172
- Utworzenie miniatury za pomocą easy-thumbnails 174
- Dodanie akcji AJAX za pomocą jQuery 175
Wczytanie jQuery 176
CSRF w żądaniach AJAX 177
Wykonywanie żądań AJAX za pomocą jQuery 178
- Utworzenie własnych dekoratorów dla widoków 182
- Dodanie stronicowania AJAX do widoków listy 183
- Podsumowanie 187
Rozdział 6. Śledzenie działań użytkownika 189
- Utworzenie systemu obserwacji 189
Utworzenie relacji typu "wiele do wielu" za pomocą modelu pośredniego 190
Utworzenie widoków listy i szczegółowego dla profilu użytkownika 193
Utworzenie widoku AJAX pozwalającego na obserwację użytkowników 197
- Budowa aplikacji z ogólnym strumieniem aktywności 199
Użycie frameworka contenttypes 200
Dodanie do modelu relacji generycznych 201
Uniknięcie powielonych akcji w strumieniu aktywności 203
Dodanie akcji użytkownika do strumienia aktywności 204
Wyświetlanie strumienia aktywności 205
Optymalizacja kolekcji QuerySet dotyczącej powiązanych obiektów 206
Tworzenie szablonów dla akcji 207
- Użycie sygnałów dla denormalizowanych zliczeń 209
Praca z sygnałami 209
Definiowanie klas konfiguracyjnych aplikacji 211
- Użycie bazy danych Redis do przechowywania różnych elementów widoków 213
Instalacja bazy danych Redis 214
Użycie bazy danych Redis z Pythonem 215
Przechowywanie różnych elementów widoków w bazie danych Redis 216
Przechowywanie rankingu w bazie danych Redis 217
Kolejne kroki z bazą danych Redis 220
- Podsumowanie 220
Rozdział 7. Utworzenie sklepu internetowego 221
- Utworzenie projektu sklepu internetowego 222
Utworzenie modeli katalogu produktów 223
Rejestracja modeli katalogu w witrynie administracyjnej 225
Utworzenie widoków katalogu 226
Utworzenie szablonów katalogu 228
- Utworzenie koszyka na zakupy 232
Użycie sesji Django 232
Ustawienia sesji 233
Wygaśnięcie sesji 234
Przechowywanie koszyka na zakupy w sesji 234
Utworzenie widoków koszyka na zakupy 238
Utworzenie procesora kontekstu dla bieżącego koszyka na zakupy 245
- Rejestracja zamówień klienta 247
Utworzenie modeli zamówienia 247
Dołączenie modeli zamówienia w witrynie administracyjnej 249
Utworzenie zamówień klienta 250
- Wykonywanie zadań asynchronicznych za pomocą Celery 254
Instalacja Celery 254
Instalacja RabbitMQ 254
Dodanie Celery do projektu 255
Dodawanie do aplikacji zadań asynchronicznych 256
Monitorowanie Celery 258
- Podsumowanie 258
Rozdział 8. Zarządzanie płatnościami i zamówieniami 259
- Integracja bramki płatności 259
Tworzenie konta sandbox serwisu Braintree 260
Instalowanie modułu Pythona Braintree 261
Integracja bramki płatności 262
Testowanie płatności 269
Wdrożenie do produkcji 271
- Eksport zamówień do plików CSV 271
Dodanie własnych akcji do witryny administracyjnej 272
- Rozbudowa witryny administracyjnej za pomocą własnych widoków 274
- Dynamiczne generowanie rachunków w formacie PDF 278
Instalacja WeasyPrint 278
Utworzenie szablonu PDF 279
Generowanie pliku w formacie PDF 280
Wysyłanie dokumentów PDF za pomocą wiadomości e-mail 282
- Podsumowanie 285
Rozdział 9. Rozbudowa sklepu internetowego 287
- Utworzenie systemu kuponów 287
Utworzenie modeli kuponu 288
Zastosowanie kuponu w koszyku na zakupy 290
Zastosowanie kuponu w zamówieniu 295
- Internacjonalizacja i lokalizacja projektu 297
Internacjonalizacja za pomocą Django 298
Przygotowanie projektu do internacjonalizacji 300
Tłumaczenie kodu Pythona 301
Tłumaczenie szablonów 306
Użycie interfejsu do tłumaczeń o nazwie Rosetta 310
Opcja fuzzy 312
Wzorce adresów URL dla internacjonalizacji 313
Umożliwienie użytkownikowi zmiany języka 315
Tłumaczenie modeli za pomocą django-parler 316
Format lokalizacji 324
Użycie modułu django-localflavor do weryfikacji pól formularza 324
- Utworzenie silnika rekomendacji produktu 326
Rekomendacja produktu na podstawie wcześniejszych transakcji 326
- Podsumowanie 333
Rozdział 10. Budowa platformy e-learningu 335
- Utworzenie platformy e-learningu 335
- Utworzenie modeli kursu 336
Rejestracja modeli w witrynie administracyjnej 338
Użycie fikstur w celu dostarczenia początkowych danych dla modeli 339
- Utworzenie modeli dla zróżnicowanej treści 341
Wykorzystanie dziedziczenia modelu 342
Utworzenie modeli treści 344
Utworzenie własnych kolumn modelu 346
Dodawanie porządkowania do modułów i obiektów treści 348
- Utworzenie systemu zarządzania treścią 352
Dodanie systemu uwierzytelniania 352
Utworzenie szablonów uwierzytelniania 352
Utworzenie widoków opartych na klasach 355
Użycie domieszek w widokach opartych na klasach 355
Praca z grupami i uprawnieniami 358
- Zarządzanie modułami kursu i treścią 364
Użycie zbiorów formularzy dla modułów kursów 364
Dodanie treści do modułów kursów 368
Zarządzanie modułami i treścią 373
Zmiana kolejności modułów i treści 377
- Podsumowanie 380
Rozdział 11. Renderowanie i buforowanie treści 381
- Wyświetlanie kursów 382
- Dodanie rejestracji uczestnika 386
Utworzenie widoku rejestracji uczestnika 386
Zapisanie się na kurs 389
- Uzyskanie dostępu do treści kursu 392
Generowanie różnych rodzajów treści 395
- Użycie frameworka buforowania 398
Dostępne mechanizmy buforowania 398
Instalacja Memcached 399
Ustawienia bufora 400
Dodanie Memcached do projektu 400
Poziomy buforowania 401
Użycie niskopoziomowego API buforowania 402
Buforowanie fragmentów szablonu 405
Buforowanie widoków 406
- Podsumowanie 407
Rozdział 12. Utworzenie API 409
- Utworzenie API typu RESTful 410
Instalacja Django Rest Framework 410
Definiowanie serializacji 411
Klasy parserów i renderowania formatów 412
Utworzenie widoków listy i szczegółowego 413
Serializacja zagnieżdżona 415
Utworzenie własnych widoków 417
Obsługa uwierzytelniania 418
Określenie uprawnień do widoków 419
Utworzenie kolekcji widoku i routerów 420
Dołączenie dodatkowych akcji do kolekcji widoku 422
Tworzenie własnych uprawnień 423
Serializacja treści kursu 423
Wykorzystanie API RESTful 425
- Podsumowanie 428
Rozdział 13. Budowanie serwera czatu 429
- Utworzenie aplikacji czatu 429
Implementacja widoku pokoju czatu 430
Dezaktywacja buforowania na poziomie witryny 432
- Obsługa czasu rzeczywistego w Django za pomocą frameworka Channels 433
Aplikacje asynchroniczne z wykorzystaniem ASGI 433
Cykl żądanie-odpowiedź z wykorzystaniem frameworka Channels 434
- Instalacja frameworka Channels 436
- Pisanie konsumenta 438
- Routing 439
- Implementacja klienta WebSocket 440
- Warstwa kanału komunikacyjnego 445
Kanały komunikacyjne i grupy 446
Konfiguracja warstwy kanału komunikacyjnego z wykorzystaniem Redis 446
Aktualizacja konsumenta w celu rozgłaszania wiadomości 447
Dodawanie kontekstu do wiadomości 451
- Modyfikacja konsumenta w celu uzyskania pełnej asynchroniczności 454
- Integracja aplikacji czatu z istniejącymi widokami 456
- Podsumowanie 457
Rozdział 14. Wdrożenie 459
- Zarządzanie ustawieniami dla wielu środowisk 460
Instalacja PostgreSQL 462
Sprawdzenie projektu 463
Udostępnianie Django za pomocą WSGI 463
Instalacja uWSGI 463
Konfiguracja uWSGI 464
Instalacja NGINX 467
Środowisko produkcyjne 468
Konfiguracja Nginx 468
Udostępnianie zasobów statycznych i multimedialnych 470
Zabezpieczanie połączeń za pomocą SSL/TLS 473
Wykorzystanie serwera Daphne z frameworkiem Django Channels 477
Wykorzystanie bezpiecznych połączeń dla gniazd WebSocket 478
Uwzględnienie Daphne w konfiguracji NGINX 478
Utworzenie własnego oprogramowania pośredniczącego 481
- Implementacja własnych poleceń administracyjnych 484 Podsumowanie 487
Гарантии
Гарантии
Мы работаем по договору оферты и предоставляем все необходимые документы.
Лёгкий возврат
Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.
Безопасная оплата
Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.