Book Description
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: 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: 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: 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: 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: 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: In this chapter, we are going to introduce the use of forms in Django, definition, validations, saving and structure in general. Chapter 7: In this chapter, we are going to present the different functionalities that templates have in Django. Chapter 8: In this chapter, we are going to introduce some functions that we can use with QuerySets when building queries. Chapter 9: In this chapter, we are going to build a Rest API with the Django Rest Framework. Chapter 10: 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 : 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: 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: In this chapter, we are going to show the code of an application created with Alpine.js to create a to do list component. Chapter 14: In this chapter, we are going to adapt the Alpine.js application presented in the previous chapter, so that it works together with Django. Chapter 15: 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 16: 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 17: In this chapter, we are going to learn how to use the signals system to intercept events in Django such as creation of entities in the database and execute custom code. Chapter 18: In this chapter, we will introduce the use of testing to create automated functions and test different modules of our application.