Getting Started With Django

November 20, 2025
15 min read
Lalit Mahato
Getting Started With Django

Step-by-Step Setup Guide

This guide ensures you follow best practices by setting up a dedicated virtual environment.

Prerequisites

Before starting, ensure you have Python 3.8 or newer installed on your device. You can verify this by running:

python3 --version

Phase 1: Environment Setup

We start by creating an isolated environment for your project, which is standard practice for professional development.

Step 1: Create Project Directory

>> Open your terminal or command prompt, navigate to your preferred development folder, and create the project's root directory. Put the folder name as "todo_list"

Step 2: Open the todo_list folder and open it in the terminal

>> Go to the todo_list directory and open a terminal in that directory.

Step 3: Create a Virtual Environment (venv)

Create a dedicated virtual environment named venv inside your new project folder.

python3 -m venv venv

Step 4: Activate the Virtual Environment

Activation links your current terminal session to this environment, meaning any packages installed will only affect this project. You must do this every time you open a new terminal for this project.

Operating System

Command to Run

macOS / Linux

source venv/bin/activate

Windows (CMD)

venv\Scripts\activate

Windows (PowerShell)

.\venv\Scripts\Activate.ps1

Verification: Once activated, your terminal prompt should change, typically starting with (venv).

Phase 2: Installation and Dependencies

Now, we install Django and record the exact version being used.

Step 5: Install Django

Install the Django framework into your active virtual environment.

# Install the latest stable version of Django
(venv) $ pip install django

Phase 3: Project and App Creation

Step 6: Start the Django Project

Start the main configuration project, which we will call todo_list. The use of . is a best practice to keep the file structure clean.

# Start the project configuration files in the current directory
(venv) $ django-admin startproject <project name> .

Adjust the project name as per your project name. For this tutorial, we will keep it as "todo_list"
The above command will start the project in the current directory. Optionally, you can directly run "django-admin startproject <project name>" without the dot. This will start a new project in the current directory by creating an entirely new directory.

Step 7: Test the Server

Run the development server to confirm the setup is complete.

(venv) $ python manage.py runserver

Navigate to http://127.0.0.1:8000/ in your browser. If you see the welcome page, you are ready to code!

Step 8: Create the To-Do App

Create the specific application, tasks, which will hold all the logic (models, views, templates) for your to-do list features.

# Create the tasks application
(venv) $ python manage.py startapp <app name>

Adjust the app name as per your app name. For this tutorial, we will keep it as "tasks"

Step 9: Configure settings.py (Register the App)

Open the main project settings file at todo_list/settings.py and register your new tasks app by adding its name to the INSTALLED_APPS list.

In todo_list/settings.py:

INSTALLED_APPS = [
    # ... (other default apps)
    'django.contrib.staticfiles',
    # --- ADD YOUR NEW APP HERE ---
    'tasks', 
]

Step 10: Run Initial Migrations

The migrate command sets up the default database tables needed for Django's built-in features (like the Admin panel and User Authentication).

# Create database migrations for changes (if any)
(venv) $ python manage.py makemigrations
# Apply the migrations to create the tables (including default Django tables)
(venv) $ python manage.py migrate

Step 11: Test the Server

Run the development server to confirm the setup is complete.

(venv) $ python manage.py runserver

Navigate to http://127.0.0.1:8000/ in your browser. If you see the welcome page, you are ready to code!

This structure is now ready for you to define your Task model in tasks/models.py.

 

Navigate To Next Tutorial (CRUD): 

https://lalitmahato.com.np/blog/django-crud-operations-step-by-step-guide/

 

Tags

Django Python
Lalit Mahato

Lalit Mahato

Software Engineer | Machine Learning Enthusiast

Innovative and results-driven software developer with 5+ years of experience in designing, developing, and deploying high-quality software solutions. Proficient in various programming languages and technologies, with a keen interest in …

Comments (0)

No comments yet. Be the first to comment!

Leave a Comment

Search

Categories

Related Posts

Mastering Custom Pagination in Django Rest Framework
Mastering Custom Pagination in Django Rest Framework

Jan 08, 2026

Read More
Mastering Token Authentication with Django Rest Framework & Swagger
Mastering Token Authentication with Django Rest Framework & Swagger

Jan 08, 2026

Read More
Data Validation in Django REST Framework (DRF)
Data Validation in Django REST Framework (DRF)

Jan 07, 2026

Read More