Exception Type: TemplateDoesNotExist

version and configurations:
django 3.2.6
python 3.9.8

Solutions I have tried:

  1. add source path into templates of seetings
  2. make directory “Template” as surce path
    3, registry app: blog into seetings “Installed app”

But I still encounter this report as you can see.

The default location (under templates) of the login template is registration/login.html . If you’re overriding the default one, you should put it there.

This is my project structure

│  db.sqlite3
│  manage.py
│
├─.idea
│  │  .gitignore
│  │  misc.xml
│  │  modules.xml
│  │  whereabouts.iml
│  │  workspace.xml
│  │
│  └─inspectionProfiles
│          profiles_settings.xml
│
├─blog
│  │  admin.py
│  │  apps.py
│  │  forms.py
│  │  models.py
│  │  tests.py
│  │  views.py
│  │  __init__.py
│  │
│  ├─migrations
│  │  │  0001_initial.py
│  │  │  __init__.py
│  │  │
│  │  └─__pycache__
│  │          0001_initial.cpython-39.pyc
│  │          __init__.cpython-39.pyc
│  │
│  └─__pycache__
│          admin.cpython-39.pyc
│          apps.cpython-39.pyc
│          models.cpython-39.pyc
│          tests.cpython-39.pyc
│          views.cpython-39.pyc
│          __init__.cpython-39.pyc
│
├─static
│  │  .DS_Store
│  │  ._.DS_Store
│  │  __init__.py
│  │
│  ├─blog
│  │  │  .DS_Store
│  │  │  ._.DS_Store
│  │  │  __init__.py
│  │  │
│  │  ├─bs
│  │  │  ├─css
│  │  │  │      bootstrap-theme.css
│  │  │  │      bootstrap-theme.css.map
│  │  │  │      bootstrap-theme.min.css
│  │  │  │      bootstrap-theme.min.css.map
│  │  │  │      bootstrap.css
│  │  │  │      bootstrap.css.map
│  │  │  │      bootstrap.min.css
│  │  │  │      bootstrap.min.css.map
│  │  │  │
│  │  │  ├─fonts
│  │  │  │      glyphicons-halflings-regular.eot
│  │  │  │      glyphicons-halflings-regular.svg
│  │  │  │      glyphicons-halflings-regular.ttf
│  │  │  │      glyphicons-halflings-regular.woff
│  │  │  │      glyphicons-halflings-regular.woff2
│  │  │  │
│  │  │  └─js
│  │  │          bootstrap.js
│  │  │          bootstrap.min.js
│  │  │          npm.js
│  │  │
│  │  ├─css
│  │  │      article_detail.css
│  │  │      backend.css
│  │  │      home_site.css
│  │  │      __init__.py
│  │  │
│  │  ├─img
│  │  │      default.png
│  │  │      dogg3.jpeg
│  │  │      dogg4.jpg
│  │  │      dogg5.jpg
│  │  │      dogge2.jpg
│  │  │      hashiqi.jpg
│  │  │      hashiqi2.jpg
│  │  │      linhaifeng.jpg
│  │  │      logo_small.gif
│  │  │      lufei.jpg
│  │  │      meinv.jpg
│  │  │      meinv2.jpg
│  │  │      meinv3.jpg
│  │  │      namei.jpg
│  │  │      __init__.py
│  │  │
│  │  └─kindeditor
│  │      │  kindeditor-all-min.js
│  │      │  kindeditor-all.js
│  │      │  license.txt
│  │      │
│  │      ├─asp
│  │      │      demo.asp
│  │      │      file_manager_json.asp
│  │      │      JSON_2.0.4.asp
│  │      │      UpLoad_Class.asp
│  │      │      upload_json.asp
│  │      │
│  │      ├─asp.net
│  │      │  │  demo.aspx
│  │      │  │  file_manager_json.ashx
│  │      │  │  README.txt
│  │      │  │  upload_json.ashx
│  │      │  │
│  │      │  └─bin
│  │      │          LitJSON.dll
│  │      │
│  │      ├─jsp
│  │      │  │  demo.jsp
│  │      │  │  file_manager_json.jsp
│  │      │  │  README.txt
│  │      │  │  upload_json.jsp
│  │      │  │
│  │      │  └─lib
│  │      │          commons-fileupload-1.2.1.jar
│  │      │          commons-io-1.4.jar
│  │      │          json_simple-1.1.jar
│  │      │
│  │      ├─lang
│  │      │      ar.js
│  │      │      en.js
│  │      │      ko.js
│  │      │      ru.js
│  │      │      zh-CN.js
│  │      │      zh-TW.js
│  │      │
│  │      ├─php
│  │      │      demo.php
│  │      │      file_manager_json.php
│  │      │      JSON.php
│  │      │      upload_json.php
│  │      │
│  │      ├─plugins
│  │      │  ├─anchor
│  │      │  │      anchor.js
│  │      │  │
│  │      │  ├─autoheight
│  │      │  │      autoheight.js
│  │      │  │
│  │      │  ├─baidumap
│  │      │  │      baidumap.js
│  │      │  │      index.html
│  │      │  │      map.html
│  │      │  │
│  │      │  ├─clearhtml
│  │      │  │      clearhtml.js
│  │      │  │
│  │      │  ├─code
│  │      │  │      code.js
│  │      │  │      prettify.css
│  │      │  │      prettify.js
│  │      │  │
│  │      │  ├─emoticons
│  │      │  │  │  emoticons.js
│  │      │  │  │
│  │      │  │  └─images
│  │      │  │          0.gif
│  │      │  │          1.gif
│  │      │  │          10.gif
│  │      │  │          100.gif
│  │      │  │          101.gif
│  │      │  │          102.gif
│  │      │  │          103.gif
│  │      │  │          104.gif
│  │      │  │          105.gif
│  │      │  │          106.gif
│  │      │  │          107.gif
│  │      │  │          108.gif
│  │      │  │          109.gif
│  │      │  │          11.gif
│  │      │  │          110.gif
│  │      │  │          111.gif
│  │      │  │          112.gif
│  │      │  │          113.gif
│  │      │  │          114.gif
│  │      │  │          115.gif
│  │      │  │          116.gif
│  │      │  │          117.gif
│  │      │  │          118.gif
│  │      │  │          119.gif
│  │      │  │          12.gif
│  │      │  │          120.gif
│  │      │  │          121.gif
│  │      │  │          122.gif
│  │      │  │          123.gif
│  │      │  │          124.gif
│  │      │  │          125.gif
│  │      │  │          126.gif
│  │      │  │          127.gif
│  │      │  │          128.gif
│  │      │  │          129.gif
│  │      │  │          13.gif
│  │      │  │          130.gif
│  │      │  │          131.gif
│  │      │  │          132.gif
│  │      │  │          133.gif
│  │      │  │          134.gif
│  │      │  │          14.gif
│  │      │  │          15.gif
│  │      │  │          16.gif
│  │      │  │          17.gif
│  │      │  │          18.gif
│  │      │  │          19.gif
│  │      │  │          2.gif
│  │      │  │          20.gif
│  │      │  │          21.gif
│  │      │  │          22.gif
│  │      │  │          23.gif
│  │      │  │          24.gif
│  │      │  │          25.gif
│  │      │  │          26.gif
│  │      │  │          27.gif
│  │      │  │          28.gif
│  │      │  │          29.gif
│  │      │  │          3.gif
│  │      │  │          30.gif
│  │      │  │          31.gif
│  │      │  │          32.gif
│  │      │  │          33.gif
│  │      │  │          34.gif
│  │      │  │          35.gif
│  │      │  │          36.gif
│  │      │  │          37.gif
│  │      │  │          38.gif
│  │      │  │          39.gif
│  │      │  │          4.gif
│  │      │  │          40.gif
│  │      │  │          41.gif
│  │      │  │          42.gif
│  │      │  │          43.gif
│  │      │  │          44.gif
│  │      │  │          45.gif
│  │      │  │          46.gif
│  │      │  │          47.gif
│  │      │  │          48.gif
│  │      │  │          49.gif
│  │      │  │          5.gif
│  │      │  │          50.gif
│  │      │  │          51.gif
│  │      │  │          52.gif
│  │      │  │          53.gif
│  │      │  │          54.gif
│  │      │  │          55.gif
│  │      │  │          56.gif
│  │      │  │          57.gif
│  │      │  │          58.gif
│  │      │  │          59.gif
│  │      │  │          6.gif
│  │      │  │          60.gif
│  │      │  │          61.gif
│  │      │  │          62.gif
│  │      │  │          63.gif
│  │      │  │          64.gif
│  │      │  │          65.gif
│  │      │  │          66.gif
│  │      │  │          67.gif
│  │      │  │          68.gif
│  │      │  │          69.gif
│  │      │  │          7.gif
│  │      │  │          70.gif
│  │      │  │          71.gif
│  │      │  │          72.gif
│  │      │  │          73.gif
│  │      │  │          74.gif
│  │      │  │          75.gif
│  │      │  │          76.gif
│  │      │  │          77.gif
│  │      │  │          78.gif
│  │      │  │          79.gif
│  │      │  │          8.gif
│  │      │  │          80.gif
│  │      │  │          81.gif
│  │      │  │          82.gif
│  │      │  │          83.gif
│  │      │  │          84.gif
│  │      │  │          85.gif
│  │      │  │          86.gif
│  │      │  │          87.gif
│  │      │  │          88.gif
│  │      │  │          89.gif
│  │      │  │          9.gif
│  │      │  │          90.gif
│  │      │  │          91.gif
│  │      │  │          92.gif
│  │      │  │          93.gif
│  │      │  │          94.gif
│  │      │  │          95.gif
│  │      │  │          96.gif
│  │      │  │          97.gif
│  │      │  │          98.gif
│  │      │  │          99.gif
│  │      │  │          static.gif
│  │      │  │
│  │      │  ├─filemanager
│  │      │  │  │  filemanager.js
│  │      │  │  │
│  │      │  │  └─images
│  │      │  │          file-16.gif
│  │      │  │          file-64.gif
│  │      │  │          folder-16.gif
│  │      │  │          folder-64.gif
│  │      │  │          go-up.gif
│  │      │  │
│  │      │  ├─fixtoolbar
│  │      │  │      fixtoolbar.js
│  │      │  │
│  │      │  ├─flash
│  │      │  │      flash.js
│  │      │  │
│  │      │  ├─image
│  │      │  │  │  image.js
│  │      │  │  │
│  │      │  │  └─images
│  │      │  │          align_left.gif
│  │      │  │          align_right.gif
│  │      │  │          align_top.gif
│  │      │  │          refresh.png
│  │      │  │
│  │      │  ├─insertfile
│  │      │  │      insertfile.js
│  │      │  │
│  │      │  ├─lineheight
│  │      │  │      lineheight.js
│  │      │  │
│  │      │  ├─link
│  │      │  │      link.js
│  │      │  │
│  │      │  ├─map
│  │      │  │      map.html
│  │      │  │      map.js
│  │      │  │
│  │      │  ├─media
│  │      │  │      media.js
│  │      │  │
│  │      │  ├─multiimage
│  │      │  │  │  multiimage.js
│  │      │  │  │
│  │      │  │  └─images
│  │      │  │          image.png
│  │      │  │          select-files-en.png
│  │      │  │          select-files-zh-CN.png
│  │      │  │          swfupload.swf
│  │      │  │
│  │      │  ├─pagebreak
│  │      │  │      pagebreak.js
│  │      │  │
│  │      │  ├─plainpaste
│  │      │  │      plainpaste.js
│  │      │  │
│  │      │  ├─preview
│  │      │  │      preview.js
│  │      │  │
│  │      │  ├─quickformat
│  │      │  │      quickformat.js
│  │      │  │
│  │      │  ├─table
│  │      │  │      table.js
│  │      │  │
│  │      │  ├─template
│  │      │  │  │  template.js
│  │      │  │  │
│  │      │  │  └─html
│  │      │  │          1.html
│  │      │  │          2.html
│  │      │  │          3.html
│  │      │  │
│  │      │  └─wordpaste
│  │      │          wordpaste.js
│  │      │
│  │      └─themes
│  │          ├─common
│  │          │      anchor.gif
│  │          │      blank.gif
│  │          │      flash.gif
│  │          │      loading.gif
│  │          │      media.gif
│  │          │      rm.gif
│  │          │
│  │          ├─default
│  │          │      background.png
│  │          │      default.css
│  │          │      default.png
│  │          │
│  │          ├─qq
│  │          │      editor.gif
│  │          │      qq.css
│  │          │
│  │          └─simple
│  │                  simple.css
│  │
│  ├─font
│  │      downdown.gif
│  │      icon_form.gif
│  │      kumo.ttf
│  │      upup.gif
│  │      __init__.py
│  │
│  ├─js
│  │      jquery-3.2.1.min.js
│  │      __init__.py
│  │
│  └─theme
│          alex.css
│          yuan.css
│          __init__.py
│
├─templates
│  ├─article
│  │      detail.html
│  │
│  ├─backend
│  │      add_article.html
│  │      backend.html
│  │      base.html
│  │      __init__.py
│  │
│  └─blog
│          login.html
│
├─whereabouts
│  │  asgi.py
│  │  settings.py
│  │  urls.py
│  │  wsgi.py
│  │  __init__.py
│  │
│  └─__pycache__
│          settings.cpython-39.pyc
│          urls.cpython-39.pyc
│          wsgi.cpython-39.pyc
│          __init__.cpython-39.pyc
│
└─__pycache__
        manage.cpython-39.pyc```

This my app settings:

Thanks for you reply. But I don’t comprehend your meaning. Factually, I absolutely want to overide the setting. Can you help me point out the error?(about the override settings). I has been read all seetings of template, such as [ 模板 | Django 文档 | Django (djangoproject.com)]

I can affirm the settings include template and app, but I can’t find the reason of error.

This is my settings of template in settings.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],  # 可供添加自定义HTML文件,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

This is my settings of app.

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'ckeditor',
    'templates',
    'django_summernote',
    'blog.apps.BlogConfig',
]

Your settings implies that templates will be found in directories such as:

BASE_DIR/templates
and
BASE_DIR/blog/templates

At this point we need to see your view that is specifying the template to be rendered.

Do you actually have an app named “templates”, containing things like a models.py and views.py? Or did you include it only because you thought you might need to?

If you only included it because you thought it might resolve this issue, you can remove it. It doesn’t need to be listed in INSTALLED_APPS.

I know that"templates" in “installed app” can be removed. This problem has been resloved. Thanks for all friend helped me. I can’t r confire the reason, so I continue to start Django logs. But Pycharm still can’t recognise the file path, os.path and absolute path.