Django Series Part 1 - Introduction to Django and it's Core concepts
Published: September 07, 2019 Time: 4 min read
This tutorial series is about Django web framework fundamentals. We are going to build a bookstore application and explore all the basics of Django from installation to project and development environment setup best practices, we also gonna learn about deployment process.
Althought there are many post like this one, the reason I created this series is I want to do something different. I want to create a tutorial that is easy to follow, informative and shows the process of creating web applications. I hope you enjoy reading it.
Before we start…
The way to get better at something is to do more of it, I strongly recommend you write the code and use this tutorial as a guide. Don’t copy and paste
According to the django website, “django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design”. Web framework is a collection of components that provide a fast and easy way to write web applications. Some of the busiest websites proved django can be used in any case. Whether it’s building community-based apps like Disqus, that has millions of users, or handling 95 million photos and videos per day like Instagram, or stream music as Spotify does.
The development of Django is supported by the Django Software Foundation. Companies like JetBrains and Instagram sponsor it too.
So Why Django
Django is time tested, it’s been around more than a decade that make it mature and reliable. Django is written in python and it uses python as a programming language which means that you can take advantage of python’s huge open source libraries. The Python Package Index has more than 194k packages as I am writing this post. Whatever you are solving chances are, somebody else already solved it. Django is one most popular web frameworks in python world. It’s probably the most complete too. It offers a lot of features out of the box, things like ORM, templating engine, form processing, session management and caching. Django also comes with an admin interface and authentication system. There is even built-in Geographic Information System (GIS) framework that I recently discovered which is pretty cool!
Django’s main target is to facilitate the development of complex dynamic applications. Its philosophy is to make writing decoupled and organized sources code very easy. Django is MVC framework. It encourages to follow best practices of web development and programming as general. Django has two main concepts:
- Project: is the web application.
- App: Is a reusable python package that does a specific job for the project.
Project is the application you are building, in other word the larger project. There can only be one project in a django web application. A project contains configuration files and single or multiple apps.
App is a reusable small package, that represents a specific part of the larger project. For example, our bookstore web application might have an app for
books, one for the
authors and another one for
payments to charge customer. It’s Important to know that an App can’t be run without a Project.
At first it might be hard to know what is an app and what is not, as we dive deeper we will talk about these concepts more in-depth and you will get your head wrapped around it. Don’t worry now!
If you read this far you are Amazing! If you have any questions, use the comments section below, we will help you. If you liked this post spread the knowledge and consider joining us to get updates about freebies and more posts. Click here to be part of us