
Django 3 Web Development Cookbook
Actionable solutions to common problems in Python web development, 4th Edition
- 608 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Django 3 Web Development Cookbook
Actionable solutions to common problems in Python web development, 4th Edition
About this book
Practical recipes for building fast, robust, and secure web apps using Django 3 and Python
Key Features
- Explore the latest version of Django, and learn effectively with the help of practical examples
- Follow a task-based approach to develop professional web apps using Django and Python
- Discover recipes to enhance the security and performance of your apps
Book Description
Django is a web framework for perfectionists with deadlines, designed to help you build manageable medium and large web projects in a short time span. This fourth edition of the Django Web Development Cookbook is updated with Django 3's latest features to guide you effectively through the development process.
This Django book starts by helping you create a virtual environment and project structure for building Python web apps. You'll learn how to build models, views, forms, and templates for your web apps and then integrate JavaScript in your Django apps to add more features. As you advance, you'll create responsive multilingual websites, ready to be shared on social networks. The book will take you through uploading and processing images, rendering data in HTML5, PDF, and Excel, using and creating APIs, and navigating different data types in Django. You'll become well-versed in security best practices and caching techniques to enhance your website's security and speed. This edition not only helps you work with the PostgreSQL database but also the MySQL database. You'll also discover advanced recipes for using Django with Docker and Ansible in development, staging, and production environments.
By the end of this book, you will have become proficient in using Django's powerful features and will be equipped to create robust websites.
What you will learn
- Discover how to set the basic configurations to start any Django project
- Understand full-stack web application development using Django
- Build a database structure using reusable model mixins
- Implement security, performance, and deployment features in your web apps
- Import data from local sources and external web services and export it to your app
- Secure web applications against malicious usage and find and fix common performance bottlenecks
Who this book is for
This Django book is for Python web developers who want to build fast and secure web apps that can scale over time. You'll also find this book useful if you are looking to upgrade to the latest Django 3 framework. Prior experience of working with the Django framework is required.
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
Forms and Views
- Creating an app with CRUDL functions
- Saving the author of a model instance
- Uploading images
- Creating a form layout with custom templates
- Creating a form layout with django-crispy-forms
- Working with formsets
- Filtering object lists
- Managing paginated lists
- Composing class-based views
- Providing Open Graph and Twitter Card data
- Providing schema.org vocabularies
- Generating PDF documents
- Implementing a multilingual search with Haystack and Whoosh
- Implementing a multilingual search with Elasticsearch DSL
Introduction
Technical requirements
Creating an app with CRUDL functions
Getting ready
# myproject/apps/idea/models.py
import uuid
from django.db import models
from django.urls import reverse
from django.conf import settings
from django.utils.translation import gettext_lazy as _
from myproject.apps.core.model_fields import TranslatedField
from myproject.apps.core.models import (
CreationModificationDateBase, UrlBase
)
RATING_CHOICES = (
(1, "β ββββ"),
(2, "β β βββ"),
(3, "β β β ββ"),
(4, "β β β β β"),
(5, "β β β β β "),
)
class Idea(CreationModificationDateBase, UrlBase):
uuid = models.UUIDField(
primary_key=True, default=uuid.uuid4, editable=False
)
author = models.ForeignKey(
settings.AUTH_USER_MODEL,
verbose_name=_("Author"),
on_delete=models.SET_NULL,
blank=True,
null=True,
related_name="authored_ideas",
)
title = models.CharField(_("T...
Table of contents
- Title Page
- Copyright and Credits
- About Packt
- Contributors
- Preface
- Getting Started with Django 3.0
- Models and Database Structure
- Forms and Views
- Templates and JavaScript
- Custom Template Filters and Tags
- Model Administration
- Security and Performance
- Hierarchical Structures
- Importing and Exporting Data
- Bells and Whistles
- Testing
- Deployment
- Maintenance
- Other Books You May Enjoy