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 不喜欢在我对应用程序的文件进行每次编辑后进行自我更新外,我做的一切都是正确的。
我确实关闭了应用程序并重新启动了几次,但没有重新启动我的机器。
由于某些未知原因,它在几个小时不活动后工作正常。
我想制作一个简单的博客应用程序,这是我在一些教程中找到的,但我似乎已经停在了这一步,我正在尝试 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 不喜欢在我对应用程序的文件进行每次编辑后进行自我更新外,我做的一切都是正确的。 我确实关闭了应用程序并重新启动了几次,但没有重新启动我的机器。 由于某些未知原因,它在几个小时不活动后工作正常。