How to Add Templates in Django: Step-by-Step Guide

 

How to Add Templates in Django: Step-by-Step Guide

Django's Template System allows developers to create web pages by using HTML templates. Adding templates to a Django project involves setting up the template directory, configuring settings.py, and rendering templates through views. This guide will focus solely on how to add templates without involving dynamic data.


1. Setting Up Your Django Project

# Step 1: Create a new Django project and app
django-admin startproject myproject
cd myproject
python manage.py startapp myapp

📂 Project Directory Structure:

myproject/
├── myapp/
│    ├── templates/
│    │    └── myapp/
│    │         ├── home.html
│    └── views.py
├── manage.py
└── settings.py
  • myapp/templates/myapp/: This is where all app-specific templates will reside.
  • Keeping templates within the app directory is a best practice to avoid conflicts when multiple apps are used.

2. Configuring Templates in settings.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'],  # Global templates directory
        'APP_DIRS': True,  # Enable app-specific templates
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.request',
            ],
        },
    },
]

Explanation:

  • 'DIRS': Points to the global templates directory (optional if using app directories).
  • 'APP_DIRS': True: Automatically finds templates within templates folders of apps.

3. Creating a Simple Template (home.html)

<!DOCTYPE html>
<html>
<head>
    <title>Home Page</title>
</head>
<body>
    <h1>Welcome to the Home Page!</h1>
    <p>This is a static page rendered using a Django template.</p>
</body>
</html>
  • No complex template inheritance or dynamic content needed.
  • This template will be directly rendered through the view.

4. Creating a View to Render the Template (views.py)

from django.shortcuts import render

def home(request):
    return render(request, 'myapp/home.html')

Explanation:

  • The render() function is used to load the template.
  • No context dictionary is needed since we are only rendering static HTML.

5. Setting Up URL Routing (urls.py)

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
]
  • path('', views.home, name='home'): Configures the home page to display the home.html template.

6. Running the Django Project

python manage.py runserver

Accessing the Template in Browser:

  • Open http://localhost:8000/ to see the Home Page rendered using the template.

🎯 Conclusion: Simple Template Setup in Django

  • Directly add templates to your app's templates directory.
  • Configure settings.py properly to ensure templates are recognized by Django.
  • Render the template using a simple view function and URL routing.

By following this guide, you can easily set up templates in Django and display static pages without any additional complexity. 🚀

Comments

Popular posts from this blog

Mastering Django: Project and App Folder Structure

Mastering Django Template Language (DTL): A Step-by-Step Guide