Python TemplateDoesNotExit post_list.html
我偶然发现了一个问题,它试图寻找一个我甚至没有缩进的模板。我的html文件名是home.html,但它查找post_list.html。以下是几个文件: URL.py:Python TemplateDoesNotExit post_list.html,python,django,Python,Django,我偶然发现了一个问题,它试图寻找一个我甚至没有缩进的模板。我的html文件名是home.html,但它查找post_list.html。以下是几个文件: URL.py: from django.urls import path from . import views from .views import HomeView urlpatterns = [ #path('', views.home, name = "home") path('', HomeVie
from django.urls import path
from . import views
from .views import HomeView
urlpatterns = [
#path('', views.home, name = "home")
path('', HomeView.as_view(), name = "home"),
]
views.py
from django.shortcuts import render
from django.views.generic import ListView, DetailView
from .models import Post
# Create your views here.
#def home(request):
# return render(request, 'home.html', {})
class HomeView(ListView):
model = Post
template_score = 'home.html'
]
这是目录。
注释行是有效的,但是当我尝试HomeView类时,它会给我错误
Exception Type: TemplateDoesNotExist
Exception Value:
myblog/post_list.html
Django搜索的根是app_名称/模板。由于路径是myblog/post_list.html,因此需要在以下位置放置一个post_list.html模板:
.
└── myblog
└── templates
└── myblog
├── index.html
└── post_list.html
您可以使用以下命令指定其他名称:
class HomeView(ListView):
model = Post
template_name = 'myblog/home.html'
Django搜索的根是app_名称/模板。由于路径是myblog/post_list.html,因此需要在以下位置放置一个post_list.html模板:
.
└── myblog
└── templates
└── myblog
├── index.html
└── post_list.html
您可以使用以下命令指定其他名称:
class HomeView(ListView):
model = Post
template_name = 'myblog/home.html'
您的模板文件应该存储在一个子文件夹中,该子文件夹的名称与您的应用程序相应,如下所示
templates/myblog/post_list.html
您的模板文件应该存储在一个子文件夹中,该子文件夹的名称与您的应用程序相应,如下所示
templates/myblog/post_list.html
你能分享你的HomeView吗?如果要查找home.html,则需要在视图中指定它。如果是ListView,默认情况下它将使用modelname_list.html。@WillemVanOnsem抱歉复制了URL.py两次,我编辑了这个问题。你能分享你的HomeView吗?如果要查找home.html,则需要在视图中指定它。如果它是一个列表视图,默认情况下将使用modelname\u list.html。@WillemVanOnsem抱歉复制了两次URL.py,我编辑了这个问题。但我甚至不需要它来查找post\u list.html。@Shahinamedov:它是模板名称,而不是模板分数。通常你也会添加应用程序名,以避免与其他应用程序发生冲突。无论我做什么,它都会查找post_title.htlm。您可以查看我在上面发布的HomeView类,我也如您所说,在templates文件夹中添加了一个文件夹,并将home.html移到其中。@Shahinamedov:但您是否使用了template_名称而不是template_分数?@Shahinamedov:让我换一种说法:为什么template_分数会有任何影响?Django只定义某些属性并附加语义。如果您使用另一个变量名,它只是一个变量。但我甚至不需要它来查找post_list.html。@shahinmadov:它是template_名称,而不是template_分数。通常你也会添加应用程序名,以避免与其他应用程序发生冲突。无论我做什么,它都会查找post_title.htlm。您可以查看我在上面发布的HomeView类,我也如您所说,在templates文件夹中添加了一个文件夹,并将home.html移到其中。@Shahinamedov:但您是否使用了template_名称而不是template_分数?@Shahinamedov:让我换一种说法:为什么template_分数会有任何影响?Django只定义某些属性并附加语义。如果使用另一个变量名,则它只是一个变量。