Django 3 Praktyczne tworzenie aplikacji sieciowych Wydanie III.pdf

(3094 KB) Pobierz
Tytuł oryginału: Django 3 By Example: Build powerful and reliable Python web applications
from scratch, 3rd Edition
Tłumaczenie: Radosław Meryk, z wykorzystaniem fragmentów książki
Django. Praktyczne tworzenie aplikacji sieciowych w tłumaczeniu Roberta Górczyńskiego
ISBN: 978-83-283-7250-4
Copyright © Packt Publishing 2020. First published in the English language
under the title ‘Django 3 By Example - Third Edition – (9781838981952)’.
Polish edition copyright © 2021 by Helion SA
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Helion SA nie ponoszą również
żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Helion SA
ul. Kościuszki 1c, 44-100 Gliwice
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/dj3pt3
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/dj3pt3.zip
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
O autorze
O recenzentach
Przedmowa
Rozdział 1. Utworzenie aplikacji bloga
Instalacja Django
Utworzenie odizolowanego
środowiska
Pythona
Instalowanie Django za pomocą pip
Tworzenie pierwszego projektu
Uruchamianie serwera programistycznego
Ustawienia projektu
Projekty i aplikacje
Utworzenie aplikacji
Projekt schematu danych dla bloga
Aktywacja aplikacji
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
Usunięcie obiektu
Kiedy następuje określenie zawartości kolekcji QuerySet?
Utworzenie menedżerów modelu
12
13
15
21
22
23
23
24
25
27
28
28
30
32
32
34
34
34
35
37
39
39
40
41
42
42
42
Kup książkę
Poleć książkę
Spis treści
Przygotowanie widoków listy i szczegółów
Utworzenie widoków listy i szczegółów
Dodanie wzorców adresów URL do widoków
Kanoniczne adresy URL dla modeli
Utworzenie szablonów dla widoków
Dodanie stronicowania
Użycie widoków opartych na klasach
Podsumowanie
44
44
45
47
47
50
52
54
Rozdział 2. Usprawnienie bloga za pomocą funkcji zaawansowanych
Współdzielenie postów przy użyciu wiadomości e-mail
Tworzenie formularzy w Django
Obsługa formularzy w widokach
Wysyłanie wiadomości e-mail w Django
Generowanie formularza w szablonie
Utworzenie systemu komentarzy
Budowanie modelu
Utworzenie formularza na podstawie modelu
Obsługa klasy ModelForm w widoku
Dodanie komentarzy do szablonu szczegółów posta
Dodanie funkcjonalności tagów
Pobieranie podobnych postów
Podsumowanie
55
56
56
57
59
61
65
65
67
67
69
72
77
80
Rozdział 3. Rozbudowa aplikacji bloga
Utworzenie własnych filtrów i znaczników szablonu
Utworzenie własnych znaczników szablonu
Utworzenie własnych filtrów szablonu
Dodanie mapy witryny
Utworzenie kanału wiadomości dla postów bloga
Dodanie do bloga wyszukiwania pełnotekstowego
Instalacja PostgreSQL
Proste wyszukiwania
Wyszukiwanie w wielu polach
Utworzenie widoku wyszukiwania
Stemming i ranking wyników
Wagi zapytań
Wyszukiwanie z podobieństwem trygramu
Inne silniki wyszukiwania pełnotekstowego
Podsumowanie
81
82
82
87
89
92
95
95
96
97
97
100
101
101
102
102
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
103
104
104
105
106
111
112
6
Kup książkę
Poleć książkę
Spis treści
Widoki zmiany hasła
Widoki zerowania hasła
Rejestracja użytkownika i profile użytkownika
Rejestracja użytkownika
Rozbudowa modelu User
Użycie frameworka komunikatów
Implementacja własnego mechanizmu uwierzytelniania
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
Podsumowanie
117
119
124
124
127
133
135
137
139
140
145
148
153
Rozdział 5. 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
Nadpisanie metody save() egzemplarza ModelForm
Utworzenie bookmarkletu za pomocą jQuery
Utworzenie szczegółowego widoku obrazu
Utworzenie miniatury za pomocą easy-thumbnails
Dodanie akcji AJAX za pomocą jQuery
Wczytanie jQuery
CSRF w
żądaniach
AJAX
Wykonywanie
żądań
AJAX za pomocą jQuery
Utworzenie własnych dekoratorów dla widoków
Dodanie stronicowania AJAX do widoków listy
Podsumowanie
155
156
156
158
158
159
160
160
165
172
174
175
176
177
178
182
183
187
Rozdział 6.
Ś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
Utworzenie widoku AJAX pozwalającego na obserwację użytkowników
Budowa aplikacji z ogólnym strumieniem aktywności
Użycie frameworka contenttypes
Dodanie do modelu relacji generycznych
Uniknięcie powielonych akcji w strumieniu aktywności
Dodanie akcji użytkownika do strumienia aktywności
Wyświetlanie strumienia aktywności
Optymalizacja kolekcji QuerySet dotyczącej powiązanych obiektów
Tworzenie szablonów dla akcji
Użycie sygnałów dla denormalizowanych zliczeń
Praca z sygnałami
Definiowanie klas konfiguracyjnych aplikacji
7
189
189
190
193
197
199
200
201
203
204
205
206
207
209
209
211
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin