Django is the most popular web framework for Python.
Why Django?
Django organizes your website into apps.
It has an template engine, database support, an ORM, automatic admin interface, URL routing and way more.
Apps
Every app is a component of a website, these apps can be reused in other websites. An app can be anything from a poll, blog to a forum.
In the long run that will save you a lot of development time.
It’s also easy to add apps from other projects. Apps are pluggable.
Each app has its own views and models.
- Models: store the apps data. If you want a dynamic website (using database), you need models!
- Vies: python functions that return the webpages users see. They often use models to retrieve the data.
Inside the project directory, each app has its own directory.
Template engine
Django has a template language out of the box. Inside HTML, tags can be used.
If you want to print a variable:
{{ post.title }} |
You can loop through a list in a template:
{% for post in forum.posts.all %} |
Even if statements can be used in a template:
{% if admin %} |
You may like:
Admin Interface
Django comes with an admin interface!
It’s tedious work to create admin sites for clients to edit database data.
Django automates creation of admin interfaces for models.

Forms
Even forms come with Django. Automatic input validation, generate forms, convert data to python datatypes
