Building SPAs with Django and HTML Over the Wire: Learn to build real-time single page applications with Python
- Length: 264 pages
- Edition: 1
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2022-08-24
- ISBN-10: 1803240199
- ISBN-13: 9781803240190
- Sales Rank: #3265155 (See Top 100 Books)
Discover how to construct real-time applications with Python and Django without the hassle of learning JavaScript
Key Features
- Learn to put together an SPA using Python and very little JavaScript
- Create WebSocket communication between the backend and frontend
- Build a real-world project with Django using the techniques provided in this book
Book Description
The HTML over WebSockets approach simplifies single-page application (SPA) development and lets you bypass learning a JavaScript rendering framework such as React, Vue, or Angular, moving the logic to Python. This web application development book provides you with all the Django tools you need to simplify your developments with real-time results.
You’ll learn state-of-the-art WebSocket techniques to realize real-time applications with minimal reliance on JavaScript. This book will also show you how to create a project with Docker from the ground up, test it, and deploy it on a server. You’ll learn how to create a project, add Docker, and discover development libraries, Django channels, and bidirectional communication, and from then, on you’ll create real projects of all kinds using HTML over WebSockets as a chat app or a blog with real-time comments. In addition, you’ll modernize your development techniques by moving from using an SSR model to creating web pages using WebSockets over HTML. With Django, you’ll be able to create SPAs with professional real-time projects where the logic is in Python.
By the end of this Django book, you’ll be able to build real-time applications, as well as gaining a solid understanding of WebSockets with Django.
What you will learn
- Explore real-time site realization
- Understand the proper use of Django channels
- Find out how to set up Docker with Django
- Discover how to use a JavaScript framework such as Stimulus
- Manage a database asynchronously in Django
- Bring dynamic rendering logic to the backend
Who this book is for
This book is for developers looking to build applications where they want to bring logic to the backend, learn WebSockets, and not depend on JavaScript heavily to create a single-page application. Basic knowledge of HTML and Python and familiarity with basic web development concepts is expected.
Building SPAs with Django and HTML Over the Wire Foreword Contributors About the author About the reviewer Preface Who this book is for What this book covers To get the most out of this book Download the example code files Download the color images Conventions used Get in touch Share Your Thoughts Part 1: Getting Started with Python Chapter 1: Setting up the Virtual Environment Exploring the software required Operating system Code editor Python Docker Git Browser Adding dependencies Configuring the IDE Installing Django Creating our project Summary Chapter 2: Creating a Django Project around Docker Technical requirements Exploring the containers used for building our app Adding the Django service Creating a Django launcher Configuring the databases Connecting Django to a web server Adding a fake SMTP mail server Testing for correct operation Caddy and Django MailHog Summary Part 2: WebSockets in Django Chapter 3: Adding WebSockets to Django Technical requirements Creating our first page with Daphne Listening to events with consumers Sending plain text from the backend Sending JSON from the backend Example project – Generating a ticket of random numbers Receiving JSON in the frontend Example project – Checking for matching numbers Rendering HTML in the backend Summary Chapter 4: Working with the Database Technical requirements Inserting information into the database Rendering database information Limiting queries with a pager Deleting rows from a database Updating rows in a database Summary Chapter 5: Separating Communication in Rooms Technical requirements Basic functions for managing Channels Creating a full Chat Defining the database Generating random users Integrating HTML and styles Defining CSS styles Creating the view Declaring JavaScript to listen to messages or send them Building a Consumer to manage groups Summary Part 3: HTML over WebSockets Chapter 6: Creating SPAs on the Backends Technical requirements Switching between pages Server-side rendering for each route Including a browser to achieve dynamic navigation Changing URLs Hydrating sections or components Creating temporary sessions for clients Avoiding cross-site request forgery (CSRF) with WebSockets Summary Chapter 7: Creating a Real-Time Blog Using Only Django Technical requirements Creating models for the database Generating fake articles and comments Listing of articles Navigating between articles with pagination Adding an article search engine Creating a static page Moving between pages and generating a browser Implementing an individual page per article Adding a list of comments Adding new comments Offering an RSS feed Summary Part 4: Simplifying the frontend with Stimulus Chapter 8: Simplifying the Frontend Technical requirements Installing and configuring Stimulus Defining a controller Managing events with actions Capturing references with targets An application that converts text into uppercase letters Summary Why subscribe? Other Books You May Enjoy Packt is searching for authors like you
Donate to keep this site alive
How to download source code?
1. Go to: https://github.com/PacktPublishing
2. In the Find a repository… box, search the book title: Building SPAs with Django and HTML Over the Wire: Learn to build real-time single page applications with Python
, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.