Django is a framework with many options, it allows us to create applications with the language of the moment Python, a modular programming language, with an impeccable syntax that we can also use in a web environment.
It offers us a modular scheme between projects and applications, an important set of packages to extend the already complete framework and with this, the creation of scalable projects.
It is a framework that, by using Python, brings us its benefits of a clean, clear, precise syntax, a modular and scalable environment through packages.
This book is for anyone who wants to start developing with Django; you may come from another framework or even PHP; in both cases, it is a great idea to learn from one of the most advanced and complete web frameworks you can find.
For those who want to know the framework and who know other web frameworks, but do not have the necessary knowledge to venture into these.
For people who want to improve a skill in web development, who want to grow as a developer and who want to keep climbing their way with other frameworks similar to this one.
For those who want to learn or improve a skill and with this, increase their chances of employment or to carry out a personal project.
This book has a total of 18 chapters, it is recommended that you read in the order in which they are arranged and as we explain the components of the framework, go directly to the practice, replicate, test and modify the codes that we show in this book.
Chapter 1 - Required software and installation of tools: In this chapter we are going to present the software necessary to create projects in Django, Python as a programming language and in which the framework is developed, a code editor such as VSS, until preparing the environment.
Chapter 2 - Getting started with Django: In this chapter we are going to create the virtual environment to develop the application, we will create the project in Django, we will learn about its basic structure and the use of applications and projects in Django.
Chapter 3 - Introduction to Python: In this chapter we will give an introduction to Python, knowing its basic characteristics and functionalities such as variables, data types, functions, classes, among others.
Chapter 4 - Create a CRUD application: In this chapter, we are going to create a simple CRUD type application and learn about all the elements of the framework that this implies such as management of forms, templates, views and models, in addition to the management of CSRF tokens, migrations, databases among others.
Chapter 5 - Django Admin: In this chapter, we are going to work with Django Admin to provide an interface for managing site content; that is, the typical CRUDs, we will learn how to customize them at the class level, validations, interpret requests, among others.
Chapter 6 - Forms: In this chapter, we are going to introduce the use of forms in Django, definition, validations, saving and structure in general.
Chapter 7 - Templates: Master Templates, Tags, and Filters: In this chapter, we are going to present the different functionalities that templates have in Django.
Chapter 8 - ORM - Working with QuerySets: In this chapter, we are going to introduce some functions that we can use with QuerySets when building queries.
Chapter 9 - Create a Rest API with Django Rest Framework: In this chapter, we are going to build a Rest API with the Django Rest Framework.
Chapter 10 - Consuming the Rest API with an app in Vue : In this chapter, we are going to consume the above Rest Api with an app in Vue 3 and NaiveUI; lists, forms will be created and integrated with Tailwind.css
Chapter 11 - Class Based Views (CBV): In this chapter, we are going to learn about class-based views by performing the typical operations that are needed in modern web development.
Chapter 12 - Manage files: In this chapter, we are going to learn how to work with files in Django; specifically reading and generating excel and CSV and generating PDFs.
Chapter 13 - Create an Alpine.js to-do list application and integrate it with Django: In this chapter, we are going to show the code of an application created with Alpine.js to create a to do list component and we are going to adapt the Alpine.js application presented in the previous chapter, so that it works together with Django.
Chapter 14 - Django Channels: In this chapter, we are going to use Django Channels to learn how to create systems with full duplex communication and be able to create our own websockets and consume them, we will see how to create single and multiple channel applications, as well as how to consume a consumer from an app in Vue.
Chapter 15 - Custom authentication: In this chapter, we are going to create a personalized authentication module with login, registration, recover passwords, sending emails, uploading the avatar among others.
Chapter 16 - Introduction to Testing: In this chapter, we will introduce the use of testing to create automated functions and test different modules of our application.
Chapter 17 - General Aspects: In this chapter, we'll learn how to use the signals system to intercept events in Django, such as sending emails, translations, sessions, and more.
Chapter 18 - Essential Packages: We'll look at a list and how to use essential packages in Django. These packages are very interesting and can facilitate all kinds of development, from configuring automatic thumbnails for our images, installing a toolbar for debugging, exporting to CSV, customizing Django Admin, generating test data, and more.
Chapter 19 - Deployment: We will see how we can deploy the project to the Railway service.
By the end of the book, you will have the knowledge to create any basic application with the framework and know more than just the basics of it.
Playlist with each of the chapters:
https://www.youtube.com/playlist?list=PLB5SYDBi8M3EQxcHQzgRO3qZuvjJt5QpV
Demo of one of the apps:
https://course-book-django-store-production.up.railway.app
I invite you to visit my website:
desarrollolibre.net
And get to know my work.