Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore django

django

Published by arigkubra, 2022-12-14 04:55:20

Description: django

Search

Read the Text Version

724 Index reference link 71, 271 D cross-site request forgery (CSRF) attacks 363 Daphne 702 including, in NGINX configuration 704-706 cross-site request forgery (CSRF) token 569 reference link 702 using, for Django Channels 702, 703 Cross-Site Scripting (XSS) 424 Daring Firewall custom actions reference link 113 adding, to administration site 425-427 data custom API views loading into new database 134 building 624, 625 database custom authentication backend index, adding 16 building 194, 195 migration, creating for profile model 184-190 preventing, users from using existing migration, applying 684 email 196, 197 service 675 sessions 350 customer orders switching to Django project 133 creating 369-374 models, creating 366, 367 data migration models, including in administration site 367 reference link 524 registering 365, 366 datetime fields custom management commands adding 14 implementing 710-712 default sort order custom middleware defining 15 creating 707 detail view, for images custom model fields creating 263-265 creating 529-531 reference link 531 detail views building 34, 619 custom permissions creating 34, 35 creating 630, 631 get_object_or_404 shortcut, using 35 reference link 545 development server custom template filters running, through HTTPS 202-205 creating 106 creating, to support markdown syntax 113-118 disconnect() 648 implementing 113 Django custom template tags emails, sending with 64-68 creating 106 forms, creating with 62, 63 framework components 5 custom user model installing 3 reference link 190 installing, with pip 4 using 190 custom views administration site, extending with 427-432

Index 725 internationalization (i18n) with 478 Django Debug Toolbar posts, recommending by email 61 adding, to project 603 request/response cycle 42, 43 cache requests, checking with 603-606 serving, through NGINX 686 commands 322, 323 serving, through WSGI 686 installing 317-319, 603 using, with Celery 375 panels 320-322 using, with RabbitMQ 375 using 317 Django 4 Django, deploying with ASGI features 4 reference link 643 overview 5 reference link 5 Django deployment checklist reference link 697 Django administration site reference link 29 Django, Design Philosophies reference link 5 Django allowed hosts reference link 202 Django Extensions documentation reference link 205 Django application creating 12 Django formsets reference link 577 Django architecture 6 django-localflavor Django authentication framework using, to validate form fields 512, 513 login view, creating 150-156 login views 157-163 Django mixins logout views 157-163 documentation link 577 models 150 password views, modifying 163-166 Django model formsets password views, resetting 166-174 reference link 577 using 149 views, using 157 django-parler installing 501 django-braces model fields, translating with 501-504 documentation link 577 model translations, integrating into mixins, using from 569-577 administration site 504, 505 used, for translating models 501 Django cache settings 600 Django project Django Channels checking, for production 695, 696 reference link 640 configuring, for SSL/TLS 696, 697 creating 7 Django compatibility development server, running 9, 10 reference link 504 initial database migrations, applying 8 project and application 11 django.db.models resources 43, 44 aggregation functions 101 settings 10, 11 structure 11

726 Index Django project, settings PostgreSQL service, configuring 681-684 reference link 10 Python requirements, adding 677, 678 Redis service, configuring 684-686 Django Redisboard reference link 675 Redis, monitoring with 611-613 superuser, creating 684 reference link 611 using 675 Django REST framework Docker Desktop installing 616, 617 installation link 676 reference link 633 Dockerfile 676 Django sessions creating 676, 677 used, for building shopping cart 349 reference link 677 Django settings Docker Swarm mode managing, for multiple environments 672 reference link 706 Django settings, ALLOWED_HOSTS Document Object Model (DOM) 254, 270, 537, reference link 692 650 Django’s, support for asynchronous class-based E views easy-thumbnails reference link 643 image thumbnails, creating with 265-268 reference link 268 Django’s, support for writing asynchronous views e-learning project course models, building 517-519 reference link 643 preparing, to serve media files 516, 517 setting up 515, 516 Django syndication feed reference link 130 emails sending, in views 69, 70 Django, system check framework sending, with Django 64-68 reference link 695 enum django-taggit reference link 18 reference link 92 event types, Stripe Django template language reference link 413 reference link 37 exclude() method django.urls utility functions used, for retrieving objects 32 reference link 47 F Docker installing 324 Facebook reference link, for developer portal 205 Docker Compose 675 used, for adding social authentication 205-213 database migrations, applying 684 Dockerfile, creating 676, 677 file, creating 678-681 installing 675, 676

Index 727 feeds full-text search 136 creating, for blog posts 123-130 adding, to blog 130 database, switching to Django project 133 file-based sessions 350 data, loading into new database 134 existing data, dumping 132, 133 filter() method PostgreSQL database, creating 131, 132 used, for retrieving objects 31 PostgreSQL, installing 131 queries, weighting 142, 143 first in, first out (FIFO) 375 reference link 144 results, ranking 140, 141 fixtures 132, 520 results, stemming 140, 141 using, to provide initial data for searching, against multiple fields 136 models 520-524 search lookups 135, 136 search view, building 136-140 fixtures, for testing stop words, removing in different reference link 524 languages 142 stop words, stemming in different Flower languages 142 reference link 384 with trigram similarity 143, 144 used, for monitoring Celery 383, 384 fuzzy translations 494 Fluent Reader download link 125 G follow system generic activity stream application building 287 building 298, 299 list and detail views, creating for user contenttypes framework, using 300 profiles 291-295 displaying 307, 308 many-to-many relationships, creating with duplicate actions, avoiding 304 intermediary model 288-291 generic relations, adding to models 301-304 user follow/unfollow actions, adding with QuerySets, optimizing that involves related JavaScript 296-298 objects 308 templates, creating for actions 310-312 format localization 511, 512 user actions, adding to 305-307 reference link 512 get_object_or_404 shortcut form fields using 35 cleaning 244 validating, with django-localflavor 512, 513 GET request 370 forms gettext toolkit creating, from models 78 installing 479 creating, with Django 62, 63 handling, in views 63, 64 Google reference link 78 used, for adding social authentication 227-235 rendering, in templates 70-74 formsets using, for course modules 553 forms, field types reference link 63

728 Index H storing, in Redis 326-329 hostname inclusion template tags using 692 creating 109, 110 HTML5 drag-and-drop API indexes reference link 569, 577 reference link 17 HTML5 Sortable library infinite scroll pagination documentation link 569, 577 adding, to image list 278-285 HTTP basic authentication intermediary model reference link 636 many-to-many relationships, creating with 288-291 HTTP requests CSRF protection 270, 271 internationalization (i18n) 478 modes 274 current language. determining 479, 480 performing, with JavaScript 272-277 gettext toolkit, installing 479 management commands 479 HTTPS project, preparing 480, 481 development server, running through 202-205 settings 478 translations, adding to project 479 HTTP Strict Transport Security (HSTS) URL patterns 494 policy 697 with Django 478 HTTP traffic Internet of Things (IoT) 639 redirecting, to HTTPS 701 J I JavaScript image bookmarking website user follow/unfollow actions, asynchronous actions, adding with adding with 296-298 JavaScript 268, 269 content, posting from other websites 243 JavaScript Fetch API 268 creating 239 reference link 268 detail view for images, creating 263-265 image model, building 240, 241 json_script template filter image model, registering in administration reference link 651 site 243 image thumbnails, creating with easy- K thumbnails 265-268 infinite scroll pagination, adding to Kubernetes image list 278-285 reference link 706 many-to-many relationships, creating 242, 243 references 285 L image views language prefix counting, with Redis 323 adding, to URL patterns 494, 495 lazy translations 481

Index 729 Let’s Encrypt installing 599 URL 699 Python binding, installing 600 URL 600 Let’s Encrypt service 258 reference link 258 message broker 375 Lightweight Directory Access message file 478 Protocol (LDAP) 194 message queue 375 list building 619, 620 messages consumer, updating to broadcast 658-662 list and detail views context, adding to 662-666 creating, for user profiles 291-295 messages framework list views reference link 193 building 34 using 190-193 creating 34, 35 middleware local environment reference link 707 running 673, 674 settings, configuring 673 migrations applying 21-23 localization (l10n) 478 creating 21-23 settings 478 creating, for model translations 505-507 login() function 349 minHeight variable 254 low-level cache API 601 minWidth variable 254 using 601, 602 working 602 mixins reference link 542 M using, for class-based views 542-544 using, from django-braces 569-577 many-to-many relationships adding 19-21 model creating 242, 243 administration site, creating for 23 creating, with intermediary model 288-291 canonical URLs, using 45-48 reference link 97 creating, for polymorphic content 524, 525 creating, to store user comments 75, 76 many-to-one relationships creating, to store user comments on posts 75 reference link 75 forms, creating 78 generic relations, adding to 301-304 media files translating, with django-parler 501 serving 183, 692 serving, e-learning project 516, 517 model fields reference link 21 Memcached about 599 ModelForm adding, to project 601 handling, in views 78-80 Docker image, installing 600 save() method 245

730 Index model inheritance objects using 525 creating 30, 31 deleting 32 model managers retrieving 31 creating 33, 34 retrieving, with exclude() method 32 working with 29 retrieving, with filter() method 31 retrieving, with order_by() method 32 model translations updating 31 integrating, into administration site 504, 505 using with ORM 508 online shop views, adapting 508-511 creating 334 product catalog models, creating 335-338 module product catalog models, registering on ordering field, adding to 531-535 administration site 339-341 product catalog templates, creating 344-349 MTV (Model-Template-View) pattern 5 product catalog views, building 341-343 multiple environments Open Authorization (OAuth) 200 Django settings, managing 672 order_by() method multi-table model inheritance 525, 526 used, for retrieving objects 32 MVC (Model-View-Controller) pattern 5 order objects building, with respect to other fields 529 N orders nested serializers exporting, to CSV files 424 creating 622-624 order value NGINX 688 assigning, automatically 529 configuring 690-692 configuring, to use SSL/TLS 698-701 P Django, serving 686 media files, serving 692 pagination reference link 689, 691 adding 51 static files, serving 692 adding, to post list view 52 used, for serving multiple subdomains 709 used, for serving static files 693- 695 pagination errors using 688, 689 handling 55-58 NGINX configuration pagination template Daphne, including 704-706 creating 52-55 O Paginator class reference link 58 OAuth 2.0 200 parsers 618, 619 object-relational mapper (ORM) 29 reference link 619, 636 model translations, using with 508

Index 731 Payment Card Industry (PCI) 388 polymorphism 524 payment gateway 387 post detail template comments, adding to 83-90 payment gateway integration 388 references 441, 442 post detail view comments, adding to 82, 83 payment intent 408 Postgres.app payment process reference link 131 building 393, 394 checkout payment flow 396 PostgreSQL checkout process, testing 402-404 database, creating 131, 132 credit cards usage, testing 404-408 download link 131 payment information, checking in Stripe installing 131 dashboard 408-412 reference link, for Docker image 681 payment notifications, receiving with service, configuring 681-684 webhooks 412 publishing 424 PostgreSQL’s, full-text search Stripe Checkout integration 395 reference link 130 Stripe payments, referencing 421-424 post list template PDF invoices creating 39 generating, dynamically 432 PDF files, rendering 434-438 post list view PDF files, sending by email 438-441 pagination, adding to 52 template, creating 433, 434 Postman permission reference link 621 adding, to views 626, 627 reference link 636 Postman API platform reference link 636 per-site cache deactivating 610 Post model using 609 creating 13, 14 Pillow library POST parameters installing 183 action 269 image_id 269 Pinterest bookmarklet 250 POST request 370 pip documentation reference link 4 posts canonical URL, modifying 50, 51 Poedit retrieving, by similarity 101-106 download link 485 SEO-friendly URLs, creating 48, 49 polymorphic content prefetch_related() models, creating 524, 525 using 309

732 Index prerequisites, for creating comment system Python requirements about 74 adding 677, 678 comments, adding to administration site 76, 77 comments, adding to post detail Python virtual environment template 83-90 creating 2, 3 comments, adding to post detail view 82, 83 forms, creating from models 78 Q model, creating to store user comments on posts 75, 76 QuerySet 30 ModelForms, handling in views 78-80 evaluating 32 templates, creating, for comment form 80-82 optimizing, that involves related objects 308 prefetch_related(), using 309 prerequisites, for recommending posts by email select_related(), using 308 about 61 working with 29 emails, sending in views 69, 70 emails, sending with Django 64-68 R forms, creating with Django 62, 63 forms, handling in views 63, 64 RabbitMQ forms, rendering in templates 70-74 Django, using with 375 installing 376, 377 production environment management interface, accessing 377, 378 creating 672 reference link 377 request/response cycle 691 settings 674, 675 real-time Django with Channels 643 project preparing, for internationalization receive() 648 (i18n) 480, 481 recommendation engine proxy models 525, 526 building 467 products, recommending based on previous Python purchases 468-475 installing 2 Redis, using with 326 Redis image views, storing 326-329 Python code installing 324, 326 translating 481-486 monitoring, with Django Redisboard 611-613 next step with 331 Python Docker image ranking, storing 329-331 reference link 677 scenarios 331 URL 323 Python installer used, for counting image views 323 download link 2 used, for setting up channel layer 657, 658 using, with Python 326 Python launcher reference link 2 Python Requests library documentation link 636

Index 733 Redis cache backend Rosetta translation interface using 610, 611 using 491-493 Redis Docker image routers reference link 684 creating 627-629 reference link 629, 636 Redis service configuring 684-686 routing 649, 650 renderers 618 S reference link 619, 636 save() method 31, 353 ReportLab 432 ModelForm, overriding 245-249 reference link 432 scrypt hasher 177 Representational State Transfer (REST) 616 search view request/response cycle building 136-140 using Channels 644, 645 secure connections Requests library 245 using, for WebSockets 703 installing 245 reference link 245 Secure Sockets Layer (SSL) 202, 695 Response object select_related() reference link 275 using 308 REST framework SendGrid reference link 616, 636 URL 65 RESTful API SEO-friendly URLs authentication, handling 625 creating, for posts 48, 49 building 616 consuming 620-622, 633-636 serializers course contents, serializing 631-633 defining 617 custom API views, building 624, 625 reference link 636 custom permissions, creating 630, 631 Django REST framework, installing 616 session data lists and detail views, building 619, 620 storing, options 350 nested serializers, creating 622-624 parsers 618, 619 session settings permissions, adding to views 626, 627 reference link 350 renderers 618 serializers, defining 617 shopping cart ViewSets and routers, creating 627-629 building 349 building, with Django sessions 349 Rosettas documentation context processor, creating 362 reference link 493 items, adding to 355-358 product quantities, updating 361, 362 products, adding to 359, 360

734 Index session expiration 351 SSL/TLS session settings 350 certificate, creating 697, 698 setting, into request context 363-365 Django project, configuring 696, 697 storing, in sessions 351-355 NGINX, configuring 698-701 template, building to display 358, 359 used, for securing websites 695 views, creating 355 standard translations 481 shop templates translating 487-491 static files collecting 693 signals serving 692 using, for denormalizing counts 312 serving, with NGINX 693-695 working with 313-315 static() helper function 183, 517 Simple Mail Transfer Protocol (SMTP) 64, 171, 374, 439 staticUrl variable 254 simple template tags status field creating 107-109 adding 17-19 creating, that returns QuerySet 110-113 stemming 140 Single Sign-on (SSO) 200 Stripe 388 site language adding, to project 392 switching, by users 499, 500 account, creating 388-391 Checkout coupon, creating 461-464 sitemap Checkout integration, performing 395-401 adding, to site 118-122 Command-Line Interface (CLI) 412 dashboard payment information, sites framework checking 408-412 reference link 122 payments referencing, in orders 421-424 Python library, installing 391, 392 siteUrl variable 254 URL 388 social authentication student registration adding, to website 200, 201 adding 585 adding, with Facebook 205-213 courses, enrolling 589-592 adding, with Google 227-235 view, creating 585-588 adding, with Twitter 214-226 used, for creating social profile 235-237 subdomain middleware creating 708, 709 social profile multiple subdomains, serving with NGINX 709 creating, for user to register with social authentication 235-237 superuser creating 684 social website project creating 148 supported backends initiating 148 reference link 201 SQLite 131

Index 735 T user follow/unfollow actions adding, with JavaScript 296-298 tag 91 user model tagging functionality extending 182 adding 91-100 reference link 182 template fragments user profiles caching 607, 608 list and detail views, creating 291-295 templates user registration 174-181 creating, for comment form 80-82 forms, rendering 70-74 uWSGI 686 configuring 687, 688 templates, for views options 688 application, accessing 40 reference link 688 base template, creating 38, 39 using 686 creating 37, 38 post list template, creating 39 V template tags venv translating 486 reference link 3 translations views including variables 482 adapting, for model translations 508-511 plural forms 482 caching 608 reference link 481 emails, sending 69, 70 forms, handling 63, 64 Transmission Control Protocol (TCP) 643 ModelForms, handling 78-80 modifying 50 Transport Layer Security (TLS) 65, 202, 695 URL patterns, adding 36, 37 trigram 143 ViewSets actions, adding to 629, 630 Twitter creating 627-6293 used, for adding social authentication 214-226 reference link 629 Twitter Developer Portal Dashboard W reference link 214 WeasyPrint U installing 433 URL namespaces webhook reference link 37 endpoint, creating 412-416 notifications, testing 417-420 URL patterns payment notifications, receiving with 412 adding, for views 36, 37 for internationalization (i18n) 494 language prefix, adding to 494, 495 modifying 49, 50 translating 495-499

736 Index Web Server Gateway Interface (WSGI) 7, 643, 686 Django, serving 686 reference link 686 web service 675 website social authentication, adding to 200, 201 securing, with SSL/TLS 695 WebSocket client events, defining 652 implementing 650-656 WebSockets secure connections, using 703 worker 374, 375 Y YAML URL 678




Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook