Book description
PUBLISHER'S NOTE: A new edition of this book, updated for Django 5, is now available.
Key Features
- Implement advanced functionalities, such as full-text search engines, user activity streams, payment gateways, and recommendation engines
- Integrate JavaScript, PostgreSQL, Redis, Celery, and Memcached into your applications
- Add real-time features with Django Channels and WebSockets
Book Description
Django 4 By Example is the 4th edition of the best-selling franchise that helps you build web apps. This book will walk you through the creation of real-world applications, solving common problems, and implementing best practices using a step-by-step approach.
You'll cover a wide range of web app development topics as you build four different apps:
A blog application: Create data models, views, and URLs and implement an admin site for your blog. Create sitemaps and RSS feeds and implement a full-text search engine with PostgreSQL.
A social website: Implement authentication with Facebook, Twitter, and Google. Create user profiles, image thumbnails, a bookmarklet, and an activity stream. Implement a user follower system and add infinite scroll pagination to your website.
An e-commerce application: Build a product catalog, a shopping cart, and asynchronous tasks with Celery and RabbitMQ. Process payments with Stripe and manage payment notifications via webhooks. Build a product recommendation engine with Redis. Create PDF invoices and export orders to CSV.
An e-learning platform: Create a content management system to manage polymorphic content. Cache content with Memcached and Redis. Build and consume a RESTful API. Implement a real-time chat using WebSockets with ASGI. Create a production environment using NGINX, uWSGI and Daphne with Docker Compose.
This is a practical book that will have you creating web apps quickly.
What you will learn
- Learn Django essentials, including models, ORM, views, templates, URLs, forms, authentication, signals and middleware
- Implement different modules of the Django framework to solve specific problems
- Integrate third-party Django applications into your project
- Build asynchronous (ASGI) applications with Django
- Set up a production environment for your projects
- Easily create complex web applications to solve real use cases
Who this book is for
This book is for readers with basic Python knowledge and programmers transitioning from other web frameworks who wish to learn Django by doing. If you already use Django or have in the past, and want to learn best practices and integrate other technologies to scale your applications, then this book is for you too. This book will help you master the most relevant areas of the framework by building practical projects from scratch. Some previous knowledge of HTML and JavaScript is assumed.
Table of contents
- Preface
-
Building a Blog Application
- Installing Python
- Creating a Python virtual environment
- Installing Django
- Django overview
- Main framework components
- The Django architecture
- Creating your first project
- Creating the blog data models
- Creating an administration site for models
- Working with QuerySets and managers
- Building list and detail views
- Creating templates for your views
- The request/response cycle
- Additional resources
- Summary
- Join us on Discord.
- Enhancing Your Blog with Advanced Features
-
Extending Your Blog Application
- Adding the tagging functionality
- Retrieving posts by similarity
- Creating custom template tags and filters
- Adding a sitemap to the site
- Creating feeds for blog posts
-
Adding full-text search to the blog
- Installing PostgreSQL
- Creating a PostgreSQL database
- Dumping the existing data
- Switching the database in the project
- Loading the data into the new database
- Simple search lookups
- Searching against multiple fields
- Building a search view
- Stemming and ranking results
- Stemming and removing stop words in different languages
- Weighting queries
- Searching with trigram similarity
- Additional resources
- Summary
- Building a Social Website
- Implementing Social Authentication
- Sharing Content on Your Website
-
Tracking User Actions
- Building a follow system
- Building a generic activity stream application
- Using signals for denormalizing counts
- Using Django Debug Toolbar
- Counting image views with Redis
- Additional resources
- Summary
-
Building an Online Shop
- Creating an online shop project
- Building a shopping cart
- Registering customer orders
- Asynchronous tasks
- Additional resources
- Summary
- Join us on Discord.
-
Managing Payments and Orders
- Integrating a payment gateway
- Exporting orders to CSV files
- Extending the administration site with custom views
- Generating PDF invoices dynamically
- Additional resources
- Summary
- Extending Your Shop
-
Adding Internationalization to Your Shop
- Internationalization with Django
- Preparing your project for internationalization
- Translating Python code
- Translating templates
- Using the Rosetta translation interface
- Fuzzy translations
- URL patterns for internationalization
- Allowing users to switch language
- Translating models with django-parler
- Format localization
- Using django-localflavor to validate form fields
- Additional resources
- Summary
- Building an E-Learning Platform
- Creating a Content Management System
-
Rendering and Caching Content
- Displaying courses
- Adding student registration
- Accessing the course contents
-
Using the cache framework
- Available cache backends
- Installing Memcached
- Installing the Memcached Docker image
- Installing the Memcached Python binding
- Django cache settings
- Adding Memcached to your project
- Cache levels
- Using the low-level cache API
- Checking cache requests with Django Debug Toolbar
- Caching template fragments
- Caching views
- Using the Redis cache backend
- Monitoring Redis with Django Redisboard
- Additional resources
- Summary
-
Building an API
-
Building a RESTful API
- Installing Django REST framework
- Defining serializers
- Understanding parsers and renderers
- Building list and detail views
- Consuming the API
- Creating nested serializers
- Building custom API views
- Handling authentication
- Adding permissions to views
- Creating ViewSets and routers
- Adding additional actions to ViewSets
- Creating custom permissions
- Serializing course contents
- Consuming the RESTful API
- Additional resources
- Summary
-
Building a RESTful API
- Building a Chat Server
- Going Live
- Other Books You May Enjoy
- Index
Product information
- Title: Django 4 By Example - Fourth Edition
- Author(s):
- Release date: August 2022
- Publisher(s): Packt Publishing
- ISBN: 9781801813051
You might also like
book
Using Asyncio in Python
If you’re among the Python developers put off by asyncio’s complexity, it’s time to take another …
book
Fluent Python, 2nd Edition
Don't waste time bending Python to fit patterns you've learned in other languages. Python's simplicity lets …
book
Django 5 By Example - Fifth Edition
Build four real-world Django apps and learn Django by doing. Create fully functional web applications with …
book
Python Testing with pytest
Test applications, packages, and libraries large and small with pytest, Python's most powerful testing framework. pytest …