Book Image

Django 2 Web Development Cookbook - Third Edition

By : Jake Kronika, Aidas Bendoraitis
Book Image

Django 2 Web Development Cookbook - Third Edition

By: Jake Kronika, Aidas Bendoraitis

Overview of this book

Django is a framework designed to balance rapid web development with high performance. It handles high levels of user traffic and interaction, integrates with a variety of databases, and collects and processes data in real time. This book follows a task-based approach to guide you through developing with the Django 2.1 framework, starting with setting up and configuring Docker containers and a virtual environment for your project. You'll learn how to write reusable pieces of code for your models and manage database changes. You'll work with forms and views to enter and list data, applying practical examples using templates and JavaScript together for the optimum user experience. This cookbook helps you to adjust the built-in Django administration to fit your needs and sharpen security and performance to make your web applications as robust, scalable, and dependable as possible. You'll also explore integration with Django CMS, the popular content management suite. In the final chapters, you'll learn programming and debugging tricks and discover how collecting data from different sources and providing it to others in various formats can be a breeze. By the end of the book, you'll learn how to test and deploy projects to a remote dedicated server and scale your application to meet user demands.
Table of Contents (14 chapters)

Preface

The Django framework was specifically engineered to help developers construct robust, powerful web applications quickly and efficiently. It takes much of the drudgery and repetition out of the process, solving questions such as project structure, database object-relational mapping, templating, form validation, sessions, authentication, security, cookie management, internationalization, basic administration, and an interface to access data from scripts. Django is built upon the Python programming language, which itself enforces clear and easy-to-read code. Besides the core framework, Django has been designed to enable developers to create third-party modules that can be used in conjunction with your own apps. Django has an established and vibrant community, where you can find source code, get help, and contribute.

Web Development with Django Cookbook, Third Edition, will guide you through every stage of the web development process with the Django 2.1 framework. We start with configuration and structuring of the project, either under a virtual environment or in Docker. Then, you will learn how to define the database structure with reusable components, and to manage it throughout the lifetime of your project. The book will move on to the forms and views used to enter and list the data. We proceed with responsive templates and JavaScript to augment the user experience. After this, you will customize the administration interface in order to streamline the workflow of website editors. From there, we shift focus to the stability and robustness of your project, helping to secure and optimize your apps. You will also learn how to integrate your own functionality into Django CMS. Next, we examine how to efficiently store and manipulate hierarchical structures. Then dawns the realization that collecting data from different sources and providing your own data to others in a range of formats is simpler than you might think. We will then introduce you to some tricks for programming and debugging your Django project code. Finally, you will see just a few of the available options for testing your code, and deploying your project to a remote dedicated server.

In contrast to many other Django books, which are concerned only with the framework itself, this book covers several important third-party modules that will equip you with the tools necessary for complete web development. Additionally, we provide examples using the Bootstrap frontend framework and the jQuery JavaScript library, both of which simplify the creation of advanced and complex user interfaces.