how to fix template does not exist in Django?


I am a beginner in the Django framework. I created my project created my app and test it, it work fine till I decided to add a template. I don’t know where the error is coming from because I follow what Django docs say by creating folder name templates in your app folder creating a folder with your app name and lastly creating the HTML file in the folder.

NOTE: other routes are working fine except the template

Please view the screenshot of my file structure and error below.
File Structure


    TemplateDoesNotExist at /blog/
Request Method: GET
Request URL:
Django Version: 4.0.1
Exception Type: TemplateDoesNotExist
Exception Value:    
Exception Location:, line 19, in get_template
Python Executable:  C:Python39python.exe
Python Version: 3.9.4
Python Path:    
Server time:    Sun, 23 Jan 2022 12:04:18 +0000
Template-loader postmortem
Django tried loading these templates, in this order:

Using engine django:

django.template.loaders.app_directories.Loader: C:UsersMaxwellDesktopDjangoWebAppBlogtemplates Blogindex (Source does not exist)
django.template.loaders.app_directories.Loader: C:Python39libsite-packagesdjangocontribadmintemplates Blogindex (Source does not exist)
django.template.loaders.app_directories.Loader: C:Python39libsite-packagesdjangocontribauthtemplates Blogindex (Source does not exist)


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

# Create your views here.

def index(request,name):
    return HttpResponse(f'Hello {name}')

def html(request):
    return render(request,' Blog/index.html')
Asked By: Maxwell D. Dorliea



It seems that you render the template with Blog/index, but you need to specify the entire file name, so Blog/index.html and without a leading (or trailing) space:

def html(request):
    return render(request, 'Blog/index.html')
Answered By: Willem Van Onsem

if @Willem van Onsem answer didn’t work

create a templates folder in the main directory ‘in the same level as WebApp’
then inside it create folders for each app

in your you will find TEMPLATES option

        'DIRS': [os.path.join(BASE_DIR,'templates')],#add this line

and when you want to use a template

return render(request,"template_folder/template_name.html")
Answered By: Super sub

I faced this situation too, and went through most of the answers here talking about the path, and editing the ‘templates’ function in
In the end, it was because I forgot to add my app to the installed apps section in the file. I saw this in the docs at

I was also facing same issue, as main cause of the issue is that you forget
to mentioned your app(Application) in file

As I can see the path not containing your project its taking default as installed.

Answered By: AMIT KUMAR
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.