Set up Python and serve your first Django page
You can run the entire project on your own computer. The free starter contains a minimal first page and one test. You do not need a hosting account or a payment service.
Create an isolated Django environment, run a local server, and identify a view response.
Before you start
Complete the earlier lessons in order, or use the most recent project checkpoint. Run commands from the folder containing manage.py.
Explanation
Install a supported Python release first and check its version. The course supports Python 3.12–3.14 with Django 5.2 LTS. A virtual environment keeps these dependencies separate from other Python projects. It is a directory of installed packages, not a security sandbox. Work in a new folder and do not upload personal data.
Download and extract the starter linked below. The folder containing manage.py is the project root. manage.py chooses a Django settings module and dispatches commands such as test and runserver. A project contains configuration shared by one website; an app contains a feature such as our tracker. The starter deliberately has no models or accounts yet.
On macOS/Linux use the commands below. On Windows use py -m venv .venv, then .venv\Scripts\Activate.ps1. If PowerShell prevents activation, run .venv\Scripts\python.exe directly instead of changing machine-wide execution policy. After activation, python -m pip targets that environment. The development server uses 127.0.0.1:8000 by default. Stop it with Ctrl+C before switching checkpoints.
Worked example
Run this example in the stated environment. Use a disposable learning database with synthetic records.
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements.txt
python manage.py test
python manage.py runserver
Expected behavior
The starter test passes. Opening http://127.0.0.1:8000/ displays “Your first Django page”. The server stays running until stopped; this is not a production deployment.
Common mistakes
Running commands one directory above manage.py fails. Installing packages before activating the environment can affect another interpreter. A busy port can be changed with python manage.py runserver 8001.
Guided practice
Open config/urls.py in the starter. Change only the paragraph returned by home, refresh the page, then run the test again. Keep the tested heading unchanged.
Independent practice
Add a second paragraph describing your tracker idea. Verify that visiting /missing/ returns 404 and explain why the server has no matching route. Success means you can stop and restart the server without reinstalling anything.
Check your work
Keep a small record of your prediction, observed result, and one failing case. The task runs locally; StringClass's Mark complete button records self-study progress and does not execute or grade the project. Use the tests introduced later to protect behavior as the application grows.
Recap
Create an isolated Django environment, run a local server, and identify a view response.
References
Official documentation. Course examples target Django 5.2 LTS, Python 3.12–3.14. Editorial verification: October 26, 2026.
Project checkpoint
Download the starter checkpoint. Extract it into a new directory. Each checkpoint is a complete snapshot; never copy old migrations over a later database. Compare the named files with your working project before continuing.