What is Django?
Django is a free and open-source Python web framework that enables rapid development of secure and maintainable websites. Built by experienced developers, it takes care of all components needed for application web development, so you can focus on writing your app without needing to reinvent the wheel.
Why use Django?
There are many advantages to using Django, below you will find some of them, which was the reason why I chose it in my applications.
Django helps developers avoid many common security mistakes, such as SQL injection, cross-site scripting, cross-site request forgery, and clickjacking. Its user authentication system provides a secure way to manage user accounts and passwords.
It is simple to use
It is easy to learn and use, everything is clear and logical.
Some of the busiest sites(Disqus, Instagram, Pinterest, etc) use Django’s ability to quickly and flexibly scale to meet the heaviest traffic demands.
It is very popular and well documented
If you want to learn Django you can find a lot of documentation, many courses, and free tutorials.
It suits any web application
Any web application you want to make you can do very well with Django. You can also use the Django REST framework, a very powerful and flexible toolkit for building Web APIs.
Can reuse apps
One of Django’s biggest strengths is the huge ecosystem and the resources that will help you. Use reusable apps in your projects, don’t reinvent the wheel!
Apps are small components used to build projects. An app is anything that is installed by placing it in settings.INSTALLED_APPS. These apps like any other python package can be installed in Your project as external dependencies.
There are hundreds of Django apps available, before starting a project, it is good to check the Django Packages directory, a directory of reusable apps, sites, tools, and more for your Django projects.
Find here the Django packages that I use in my projects.
Below are free courses and tutorials that I enjoyed and find useful to learn Django. If you want to present a free Django course I invite you to post it in the comments.
Django FREE video courses
Crash Course Tutorials | Dennis Ivy
What is Django? | Getting Started | Django Framework (3.0) – Crash Course Tutorials – This is one of the best beginner courses on DJango.
Learn Django – Admin | Very Academy
Everything you need to know about django admin. A very complete and well presented course – Django Admin Site Series
Building a Simple Blog Series | Very Academy
Is a complete course that takes you through all the stages, including the comment section, Thumbs Up with Ajax, Infinite Scroll example, etc and Deploy Django to AWS Lightsail + SFTP + SSH Remote Connection – Django Crash Course Tutorials
Django Rest Framework FREE video courses
Django Rest Framework | Serializers & CRUD | Dennis Ivy
A basic and very useful course about Django Rest Framework – Django Rest Framework
Build a Django DRF app and React Front-end | Very Academy
A well-explained course about DRF and React, that covers many aspects as JWT Token Authentication with React, Filters and Search features, CRUD, Image Uploading, Social Logins, etc Django Rest Framework Series with React
ReactJS Tutorial For Python Backend Devs | Bek Brace
A basic course, useful for beginners, where will learn what is React, how to set up the development environment, and how to work with the different files in a React application and connect the Frontend with the Backend server using Django DRF ReactJS Tutorial For Python Backend
A mention, in this course, CORS_ALLOW_ALL_ORIGINS is set to TRUE, which means that all origins will be allowed. Other settings restricting allowed origins will be ignored. Default is False.
Setting this to True can be dangerous, as it allows any website to make cross-origin requests to yours.
If you want to give access only to certain applications You can set CORS_ALLOWED_ORIGINS as below:
CORS_ALLOWED_ORIGINS = [ "https://example.com", "https://sub.example.com", "http://localhost:8080", "http://127.0.0.1:9000" ]
Django Rest Framework FREE tutorials
Django Rest Framework | Serializers & CRUD | PluralSight
This guide explores API development in REST using Django – Develop a Microservice API with Django Rest Framework (DRF)