Django - Templates

Create a folder inside your project, where 'manage.py' file is located, with any name say 'templates'

Create a file inside templates folder with any name say 'home.html' write any text with html tags.

Open settings.py from your project folder: add import os.path and under TEMPLATES list, under DIRS, write:

'DIRS':[os.path.join(BASE_DIR,'templates')],
or
'DIRS':['templates'],

Change your views.py with following code: add from django.shortcuts import render

views.py
from django.http import HttpResponse
from django.shortcuts import render

def home(request):
    return render(request, 'home.html')
	
def home(request):
    return render(request, 'home.html',{'name':'Ankit'})
	
def home(request):
    params={'name':'Ankit', 'courses':['Django','PHP','JSP','ASP']}
    data={
        'student': [
            {'name':'student1', 'subject':'web design', 'age':20},
            {'name':'student2', 'subject':'Programming', 'age':30}
        ]
    }
    return render(request,'home.html',params)
urls.py
from django.contrib import path
from django.urls import admin
from appname import views
urlpatterns = [
	path('', views.home),
]

Get the value of name in html file in the jinja format

home.html
<h1>Hello {{name}}</h1>
{% for n in courses %}
    <div>{{n}}</div>
{% endfor %}

{% for n in courses %}
    <div>{{forloop.counter}} {{n}}</div>
{% endfor %}

{% for n in courses %}
    <div>{{forloop.counter0} {{n}}</div>
{% endfor %}

{% for n in courses %}
    <div>{{forloop.revcounter} {{n}}</div>
{% endfor %}

{% for n in courses %}
    <div>{{forloop.revcounter0} {{n}}</div>
{% endfor %}

{% for n in courses %}
    <div>{{forloop.first} {{n}}</div>
{% endfor %}

{% for n in courses %}
    <div>{{forloop.last} {{n}}</div>
{% endfor %}

{% if data|length > 0 %}
    {% for n in student %}
        {% if n.age>25 %}
        <tr>
            <td>{{n.name}}</td>
            <td>{{n.subject}}</td>
            <td>{{n.age}}</td>
        </tr>
        {% endif %}
    {% endfor %}
{% else %}
    No Data Found
{% endif %}

forloop.counter - Display current iteration of the loop(start from 1)

forloop.counter0 - Display current iteration of the loop(start from 0)

forloop.revcounter - Display iteration in reverse order, end at indexed 1

forloop.revcounter0 - Display iteration in reverse order, end at indexed 0

forloop.first - Display true at the first time of iteration

forloop.last - Display true at the last time of iteration