Django 2. Praktyczne tworzenie aplikacji sieciowych. Wydanie II - Helion
Tytuł oryginału: Django 2 by Example: Build powerful and reliable Python web applications from scratch
Tłumaczenie: Radosław Meryk
ISBN: 978-83-283-5552-1
stron: 440, Format: ebook
Data wydania: 2019-04-01
Księgarnia: Helion
Cena książki: 59,25 zł (poprzednio: 79,00 zł)
Oszczędzasz: 25% (-19,75 zł)
Django jest frameworkiem do budowy profesjonalnych aplikacji sieciowych w jÄ™zyku Python. Cieszy siÄ™ zasÅ‚użonÄ… opiniÄ… potężnego narzÄ™dzia, którego można siÄ™ szybko nauczyć. Spodoba siÄ™ każdemu, kto ceni prostotÄ™ użytkowania i pragmatyczne podejÅ›cie do projektowania. Z pewnoÅ›ciÄ… Django jest atrakcyjnym rozwiÄ…zaniem dla programistów, którzy profesjonalnie podchodzÄ… do tworzenia aplikacji WWW i stawiajÄ… na niezawodność.
To drugie, zaktualizowane i uzupeÅ‚nione wydanie cenionego podrÄ™cznika pisania aplikacji sieciowych w Django. Krok po kroku pokazano w nim peÅ‚ny proces tworzenia oprogramowania, od pierwszych linii kodu po wdrożenie, z akcentem na praktycznÄ… stronÄ™ pracy dewelopera. Nie tylko zaprezentowano technikÄ™ pracy z frameworkiem, ale też opisano zasady integrowania innych popularnych technologii z projektami Django. Książka pozwala również zapoznać siÄ™ z metodami rozwiÄ…zywania typowych problemów z implementacjÄ…, a także - w sposób naturalny, niejako mimochodem - nauczyć siÄ™ najlepszych praktyk programistycznych z wykorzystaniem Å‚atwych do powielenia procedur.
Najważniejsze zagadnienia omówione w książce:
- wprowadzenie do frameworka i tworzenie praktycznego projektu aplikacji
- implementacja zaawansowanych funkcji aplikacji sieciowych
- tworzenie modelu użytkownika i zintegrowane uwierzytelnianie
- praca z innymi technologiami, w tym zarządzanie płatnościami
- tÅ‚umaczenie aplikacji na wiele jÄ™zyków
- API typu RESTful
Django - dla tych, którzy chcÄ… mieć Å›wietne wyniki!
Osoby które kupowały "Django 2. Praktyczne tworzenie aplikacji sieciowych. Wydanie II", wybierały także:
- GraphQL. Kurs video. Buduj nowoczesne API w Pythonie 169,00 zł, (50,70 zł -70%)
- Receptura na Python. Kurs Video. 54 praktyczne porady dla programist 199,00 zł, (59,70 zł -70%)
- Podstawy Pythona z Minecraftem. Kurs video. Piszemy pierwsze skrypty 149,00 zł, (44,70 zł -70%)
- Twórz gry w Pythonie. Kurs video. Poznaj bibliotekę PyGame 249,00 zł, (74,70 zł -70%)
- Data Science w Pythonie. Kurs video. Algorytmy uczenia maszynowego 199,00 zł, (59,70 zł -70%)
Spis treści
Django 2. Praktyczne tworzenie aplikacji sieciowych. Wydanie II eBook -- spis treści
O autorze 11
O recenzentach 12
Przedmowa 13
Rozdział 1. Utworzenie aplikacji bloga 17
- Instalacja Django 17
- Utworzenie odizolowanego środowiska Pythona 18
- Instalowanie Django za pomocÄ… pip 19
- Tworzenie pierwszego projektu 20
- Uruchamianie serwera programistycznego 21
- Ustawienia projektu 23
- Projekty i aplikacje 24
- Utworzenie aplikacji 24
- Projekt schematu danych dla bloga 25
- Aktywacja aplikacji 27
- Tworzenie i stosowanie migracji 27
- Tworzenie witryny administracyjnej dla modeli 29
- Tworzenie superużytkownika 29
- Witryna administracyjna Django 29
- Dodawanie modeli do witryny administracyjnej 30
- Personalizacja sposobu wyświetlania modeli 32
- Praca z obiektami QuerySet i menedżerami 34
- Tworzenie obiektów 34
- Aktualizowanie obiektów 35
- Pobieranie obiektów 35
- Usunięcie obiektu 37
- Kiedy następuje określenie zawartości kolekcji QuerySet? 37
- Utworzenie menedżerów modelu 37
- Przygotowanie widoków listy i szczegóÅ‚ów 38
- Utworzenie widoków listy i szczegóÅ‚ów 38
- Dodanie wzorców adresów URL do widoków 39
- Kanoniczne adresy URL dla modeli 41
- Utworzenie szablonów dla widoków 41
- Dodanie stronicowania 45
- Użycie widoków opartych na klasach 47
- Podsumowanie 48
Rozdział 2. Usprawnienie bloga za pomocą funkcji zaawansowanych 49
- WspóÅ‚dzielenie postów przy użyciu wiadomoÅ›ci e-mail 49
- Tworzenie formularzy w Django 50
- Obsługa formularzy w widokach 51
- Wysyłanie wiadomości e-mail w Django 52
- Generowanie formularza w szablonie 55
- Utworzenie systemu komentarzy 58
- Utworzenie formularza na podstawie modelu 60
- Obsługa klasy ModelForm w widoku 60
- Dodanie komentarzy do szablonu szczegóÅ‚ów posta 62
- Dodanie funkcjonalnoÅ›ci tagów 65
- Pobieranie podobnych postów 70
- Podsumowanie 72
Rozdział 3. Rozbudowa aplikacji bloga 75
- Utworzenie wÅ‚asnych filtrów i znaczników szablonu 75
- Utworzenie wÅ‚asnych znaczników szablonu 76
- Utworzenie wÅ‚asnych filtrów szablonu 80
- Dodanie mapy witryny 82
- Utworzenie kanaÅ‚u wiadomoÅ›ci dla postów bloga 85
- Dodanie do bloga wyszukiwania pełnotekstowego 87
- Instalacja PostgreSQL 88
- Proste wyszukiwania 89
- Wyszukiwanie w wielu polach 90
- Utworzenie widoku wyszukiwania 90
- Stemming i ranking wyników 92
- Wagi zapytań 93
- Wyszukiwanie z podobieństwem trygramu 94
- Inne silniki wyszukiwania pełnotekstowego 95
- Podsumowanie 95
Rozdział 4. Utworzenie witryny społecznościowej 97
- Utworzenie projektu witryny społecznościowej 97
- Rozpoczęcie pracy nad aplikacją społecznościową 98
- Użycie frameworka uwierzytelniania w Django 99
- Utworzenie widoku logowania 100
- Użycie widoków uwierzytelniania w Django 105
- Widoki logowania i wylogowania 105
- Widoki zmiany hasła 110
- Widoki zerowania hasła 112
- Rejestracja użytkownika i profile użytkownika 117
- Rejestracja użytkownika 117
- Rozbudowa modelu User 120
- Użycie własnego modelu User 126
- Użycie frameworka komunikatów 126
- Implementacja własnego mechanizmu uwierzytelniania 128
- Dodanie do witryny uwierzytelnienia za pomocą innej witryny społecznościowej 130
- Uwierzytelnienie za pomocÄ… serwisu Facebook 132
- Uwierzytelnienie za pomocÄ… serwisu Twitter 136
- Uwierzytelnienie za pomocÄ… serwisu Google 138
- Podsumowanie 142
Rozdział 5. Udostępnianie treści w witrynie internetowej 143
- Utworzenie witryny internetowej do kolekcjonowania obrazów 144
- Utworzenie modelu Image 144
- Zdefiniowanie relacji typu "wiele do wielu" 146
- Rejestracja modelu Image w witrynie administracyjnej 146
- Umieszczanie treści pochodzącej z innych witryn internetowych 147
- UsuniÄ™cie zawartoÅ›ci pól formularza 148
- Nadpisanie metody save() egzemplarza ModelForm 148
- Utworzenie bookmarkletu za pomocÄ… jQuery 152
- Utworzenie widoku szczegóÅ‚owego obrazu 160
- Utworzenie miniatury za pomocÄ… sorl-thumbnail 162
- Dodanie akcji AJAX za pomocÄ… jQuery 163
- Wczytanie jQuery 165
- CSRF w żądaniach AJAX 166
- Wykonywanie żądań AJAX za pomocą jQuery 167
- Utworzenie wÅ‚asnego dekoratora dla widoków 170
- Dodanie stronicowania AJAX do widoków listy 171
- Podsumowanie 175
Rozdział 6. Śledzenie działań użytkownika 177
- Utworzenie systemu obserwacji 177
- Utworzenie relacji typu "wiele do wielu" za pomocą modelu pośredniego 178
- Utworzenie widoków listy i szczegóÅ‚owego dla profilu użytkownika 181
- Utworzenie widoku AJAX pozwalajÄ…cego na obserwacjÄ™ użytkowników 184
- Budowa ogólnego strumienia aktywnoÅ›ci aplikacji 187
- Użycie frameworka contenttypes 188
- Dodanie do modelu relacji generycznych 189
- Uniknięcie powielonych akcji w strumieniu aktywności 192
- Dodanie akcji użytkownika do strumienia aktywności 193
- Wyświetlanie strumienia aktywności 194
- Optymalizacja kolekcji QuerySet dotyczÄ…cej powiÄ…zanych obiektów 194
- Tworzenie szablonów dla akcji 196
- Użycie sygnaÅ‚ów dla denormalizowanych zliczeÅ„ 197
- Praca z sygnałami 198
- Definiowanie klas konfiguracyjnych aplikacji 200
- Użycie bazy danych Redis do przechowywania różnych elementów widoków 202
- Instalacja bazy danych Redis 202
- Użycie bazy danych Redis z Pythonem 204
- Przechowywanie różnych elementów widoków w bazie danych Redis 205
- Przechowywanie rankingu w bazie danych Redis 206
- Kolejne kroki z bazÄ… danych Redis 208
- Podsumowanie 209
Rozdział 7. Utworzenie sklepu internetowego 211
- Utworzenie projektu sklepu internetowego 211
- Utworzenie modeli katalogu produktów 212
- Rejestracja modeli katalogu w witrynie administracyjnej 214
- Utworzenie widoków katalogu 215
- Utworzenie szablonów katalogu 217
- Utworzenie koszyka na zakupy 221
- Użycie sesji Django 222
- Ustawienia sesji 223
- Wygaśnięcie sesji 224
- Przechowywanie koszyka na zakupy w sesji 224
- Utworzenie widoków koszyka na zakupy 228
- Utworzenie procesora kontekstu dla bieżącego koszyka na zakupy 234
- Rejestracja zamówieÅ„ klienta 237
- Utworzenie modeli zamówienia 237
- DoÅ‚Ä…czenie modeli zamówienia w witrynie administracyjnej 239
- Utworzenie zamówieÅ„ klienta 240
- Wykonywanie zadań asynchronicznych za pomocą Celery 244
- Instalacja Celery 244
- Instalacja RabbitMQ 244
- Dodanie Celery do projektu 245
- Dodawanie do aplikacji zadań asynchronicznych 246
- Monitorowanie Celery 248
- Podsumowanie 248
RozdziaÅ‚ 8. ZarzÄ…dzanie pÅ‚atnoÅ›ciami i zamówieniami 249
- Integracja bramki płatności 249
- Tworzenie konta sandbox serwisu Braintree 250
- Instalowanie modułu Pythona Braintree 251
- Integracja bramki płatności 252
- Testowanie płatności 259
- Wdrożenie do produkcji 261
- Eksport zamówienia do pliku CSV 261
- Dodanie własnych akcji do witryny administracyjnej 262
- Rozbudowa witryny administracyjnej za pomocÄ… wÅ‚asnych widoków 264
- Dynamiczne generowanie rachunków w formacie PDF 268
- Instalacja WeasyPrint 269
- Utworzenie szablonu PDF 269
- Generowanie pliku w formacie PDF 270
- WysyÅ‚anie dokumentów PDF za pomocÄ… wiadomoÅ›ci e-mail 273
- Podsumowanie 274
Rozdział 9. Rozbudowa sklepu internetowego 275
- Utworzenie systemu kuponów 275
- Utworzenie modeli kuponu 276
- Zastosowanie kuponu w koszyku na zakupy 278
- Zastosowanie kuponu w zamówieniu 283
- Internacjonalizacja i lokalizacja projektu 285
- Internacjonalizacja za pomocÄ… Django 286
- Przygotowanie projektu do internacjonalizacji 288
- TÅ‚umaczenie kodu Pythona 289
- TÅ‚umaczenie szablonów 295
- Użycie interfejsu do tłumaczeń o nazwie Rosetta 298
- Opcja fuzzy 301
- Wzorce adresów URL dla internacjonalizacji 301
- Umożliwienie użytkownikowi zmiany języka 303
- TÅ‚umaczenie modeli za pomocÄ… django-parler 305
- Format lokalizacji 312
- Użycie moduÅ‚u django-localflavor do weryfikacji pól formularza 313
- Utworzenie silnika rekomendacji produktu 314
- Rekomendacja produktu na podstawie wcześniejszych transakcji 314
- Podsumowanie 321
Rozdział 10. Budowa platformy e-learningu 323
- Utworzenie platformy e-learningu 323
- Utworzenie modeli kursu 324
- Rejestracja modeli w witrynie administracyjnej 326
- Użycie fikstur w celu dostarczenia początkowych danych dla modeli 327
- Utworzenie modeli dla zróżnicowanej treÅ›ci 329
- Wykorzystanie dziedziczenia modelu 330
- Utworzenie modeli treści 332
- Utworzenie własnych kolumn modelu 334
- Dodawanie porzÄ…dkowania do moduÅ‚ów i obiektów treÅ›ci 336
- Utworzenie systemu zarządzania treścią 340
- Dodanie systemu uwierzytelniania 340
- Utworzenie szablonów uwierzytelniania 341
- Utworzenie widoków opartych na klasach 343
- Użycie domieszek w widokach opartych na klasach 344
- Praca z grupami i uprawnieniami 346
- Zarządzanie modułami kursu i treścią 352
- Użycie zbioru formularzy 352
- Dodanie treÅ›ci do moduÅ‚ów kursów 356
- Zarządzanie modułami i treścią 361
- Zmiana kolejnoÅ›ci moduÅ‚ów i treÅ›ci 365
- Podsumowanie 368
Rozdział 11. Renderowanie i buforowanie treści 369
- WyÅ›wietlanie kursów 369
- Dodanie rejestracji uczestnika 374
- Utworzenie widoku rejestracji uczestnika 374
- Zapisanie siÄ™ na kurs 376
- Uzyskanie dostępu do treści kursu 379
- Generowanie różnych rodzajów treÅ›ci 383
- Użycie frameworka buforowania 385
- Dostępne mechanizmy buforowania 386
- Instalacja Memcached 387
- Ustawienia bufora 387
- Dodanie Memcached do projektu 388
- Poziomy buforowania 389
- Użycie niskopoziomowego API buforowania 389
- Buforowanie fragmentów szablonu 393
- Buforowanie widoków 394
- Podsumowanie 395
Rozdział 12. Utworzenie API 397
- Utworzenie API typu RESTful 397
- Instalacja Django Rest Framework 398
- Definiowanie serializacji 399
- Klasy parserów i renderowania formatów 400
- Utworzenie widoków listy i szczegóÅ‚owego 401
- Serializacja zagnieżdżona 403
- Utworzenie wÅ‚asnych widoków 404
- Obsługa uwierzytelnienia 405
- OkreÅ›lenie uprawnieÅ„ do widoków 406
- Utworzenie kolekcji widoku i routerów 408
- Dołączenie dodatkowych akcji do kolekcji widoku 409
- Tworzenie własnych uprawnień 410
- Serializacja treści kursu 410
- Podsumowanie 413
Rozdział 13. Wdrożenie 415
- Wdrożenie w środowisku produkcyjnym 415
- Zarządzanie ustawieniami dla wielu środowisk 415
- Instalacja PostgreSQL 418
- Sprawdzenie projektu 419
- Udostępnianie Django za pomocą WSGI 419
- Instalacja uWSGI 419
- Konfiguracja uWSGI 420
- Instalacja Nginx 422
- Åšrodowisko produkcyjne 422
- Konfiguracja Nginx 423
- UdostÄ™pnianie zasobów statycznych i multimedialnych 424
- Ochrona połączeń za pomocą SSL 425
- Utworzenie własnego oprogramowania pośredniczącego 428
- Utworzenie oprogramowania pośredniczącego do obsługi subdomeny 429
- Obsługa wielu subdomen za pomocą Nginx 430
- Implementacja własnych poleceń administracyjnych 431
- Podsumowanie 434
Skorowidz 435