TemplateDoesNotExist at /(django 的路由问题)

TemplateDoesNotExist at /(Routing issue with django)

我想制作一个简单的博客应用程序,这是我在一些教程中找到的,但我似乎已经停在了这一步,我正在尝试 post 我的网站主页的一个简单模板。

我知道这是 django 范例中的一个众所周知的问题,但我不知道还能做什么。

我把'templates'文件夹移到主目录文件夹上,又移回app文件夹,来回; 我确保文件名在我指定的路径中是正确的; 我确保我在 INSTALLED_APPS 处提到了应用程序的名称,以确保 Django 会加载应用程序的模板

我在 return 中得到的是:

Request Method: GET Request URL: http://localhost:8000/ Django Version: 3.0.2 Exception Type: TemplateDoesNotExist Exception Value:
blog/home.html

这是我在 settings.py 的 INSTALLED_APPS 部分:

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

我的模板

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [os.path.join(BASE_DIR, 'templates')],
    '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',
        ],
    },
},

最后是来自应用程序的 views.py

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

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

TemplateDoesNotExist 错误表明在模板文件夹中找不到 blog/home.html。

如果不是这种情况,您能否提供有关文件夹结构的更多详细信息?

应该是这样的

my_blog_project
 - manage.py
 - blog_app
  -- urls.py
  -- views.py etc...
 - templates
  -- blog
    --- home.html

在这里。忘记分享了

C:.
│   db.sqlite3
│   manage.py
│
├───blog
│   │   admin.py
│   │   apps.py
│   │   models.py
│   │   tests.py
│   │   urls.py
│   │   views.py
│   │   __init__.py
│   │
│   ├───migrations
│   │   │   __init__.py
│   │   │
│   │   └───__pycache__
│   │           __init__.cpython-38.pyc
│   │
│   ├───templates
│   │   └───blog
│   │           home.html
│   │
│   └───__pycache__
│           admin.cpython-38.pyc
│           apps.cpython-38.pyc
│           models.cpython-38.pyc
│           urls.cpython-38.pyc
│           views.cpython-38.pyc
│           __init__.cpython-38.pyc
│
└───django_project
    │   asgi.py
    │   settings.py
    │   urls.py
    │   wsgi.py
    │   __init__.py
    │
    └───__pycache__
            settings.cpython-38.pyc
            urls.cpython-38.pyc
            wsgi.cpython-38.pyc
            __init__.cpython-38.pyc

//L.E:事实证明,除了我不知道 django 不喜欢在我对应用程序的文件进行每次编辑后进行自我更新外,我做的一切都是正确的。 我确实关闭了应用程序并重新启动了几次,但没有重新启动我的机器。 由于某些未知原因,它在几个小时不活动后工作正常。