Django is a free, open-source web framework for Python built around one idea: a working web application should be quick to start and hard to get wrong. It was written in 2003 by Adrian Holovaty and Simon Willison at the Lawrence Journal-World newspaper, where a story could go live the same afternoon it was assigned, and it has been developed in the open ever since under the Django Software Foundation. The framework ships with the parts most projects end up assembling by hand — an object-relational mapper, database migrations, authentication, sessions, forms, templates, caching, internationalisation and a generated admin interface — so a new project begins with a data model and a page rather than a folder of wiring. Django 6.1 is the current release series and needs Python 3.12 or newer; the code is BSD 3-Clause licensed.
makemigrations / migrate generate and apply schema changes in version-controlled steps.Django is opinionated in the way a good colleague is: it has a convention for each of the decisions that sink a young codebase, and it applies them consistently. That makes it unusually fast to reach a usable application, and unusually easy for a team to read each other’s work — settings, models, URLs and views live in the same shape in every Django project. The payoff is not only speed but durability: Django has kept a long, documented deprecation policy across two decades of releases, so a project written years ago still runs, and the security team issues coordinated fixes for the whole supported range. Around the core sits a mature ecosystem — Django REST Framework for APIs, Wagtail and django CMS for content, Django Channels for WebSockets, and thousands of reusable apps — plus the extensive official documentation and tutorial that take a beginner from models to a deployed app.
Django installs from PyPI with pip install django, ideally inside a virtual environment. django-admin startproject mysite lays out the project, python manage.py migrate creates the initial database tables, and python manage.py runserver serves the welcome page at 127.0.0.1:8000. From there the official tutorial builds a working polling application step by step — models, the admin, views and templates — and the documentation covers deployment, testing and every built-in contrib app in depth. Related reading in this directory: Python, the language Django is written in.