我正在使用Django 3 + ...
我正在尝试在页面上呈现博客的模板,但收到错误:
Internal Server Error: /postsblog
Traceback (most recent call last):
File "D:\Projetos Dev\gpprofessional\.venv\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
response = get_response(request)
File "D:\Projetos Dev\gpprofessional\.venv\lib\site-packages\django\core\handlers\base.py", line 145, in _get_response
response = self.process_exception_by_middleware(e, request)
File "D:\Projetos Dev\gpprofessional\.venv\lib\site-packages\django\core\handlers\base.py", line 143, in _get_response
response = response.render()
File "D:\Projetos Dev\gpprofessional\.venv\lib\site-packages\django\template\response.py", line 105, in render
self.content = self.rendered_content
File "D:\Projetos Dev\gpprofessional\.venv\lib\site-packages\django\template\response.py", line 81, in rendered_content
template = self.resolve_template(self.template_name)
File "D:\Projetos Dev\gpprofessional\.venv\lib\site-packages\django\template\response.py", line 63, in resolve_template
return select_template(template, using=self.using)
File "D:\Projetos Dev\gpprofessional\.venv\lib\site-packages\django\template\loader.py", line 47, in select_template
raise TemplateDoesNotExist(', '.join(template_name_list), chain=chain)
django.template.exceptions.TemplateDoesNotExist: posts/blog.html, posts/post_list.html
[13/May/2020 22:57:09] "GET /postsblog HTTP/1.1" 500 93437
[当我尝试访问博客URL时发生此错误。
我的项目中有一些应用程序,例如应用程序库,应用程序帖子,应用程序博客和应用程序类别
我的目录文件看起来像图像:
我在应用库中的文件:网址
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.home, name='home'),
path('posts', include('posts.urls')),
path('summernote/', include('django_summernote.urls'))
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
视图
from django.shortcuts import render
from django.views.generic.list import ListView
from django.views.generic.edit import UpdateView
def home(request):
return render(request, 'home.html')
我在应用信息中的文件:网址
from django.urls import path
from . import views
urlpatterns = [
path('blog', views.PostIndex.as_view(), name='post_blog'),
path('categoria/<str:categoria>', views.PostCategoria.as_view(), name='post_categoria'),
path('busca/', views.PostBusca.as_view(), name='post_busca'),
path('post/<int:pk>', views.PostDetalhes.as_view(), name='post_detalhes'),
]
视图
from django.shortcuts import render
from django.views.generic.list import ListView
from django.views.generic.edit import UpdateView
from .models import Post
class PostIndex(ListView):
model = Post
template_name = 'posts/blog.html'
class PostBusca(PostIndex):
pass
class PostCategoria(PostIndex):
pass
class PostDetalhes(UpdateView):
pass
我在TEMPLATES和INSTALLED_APPS配置中的文件设置看起来像:
模板
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',
],
},
},
]
ISTALLED_APPS
INSTALLED_APPS = [
'posts',
'categorias',
'comentarios',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'collectfast',
'django.contrib.staticfiles',
'base',
'blog',
]
我尝试对所有模板使用唯一的文件夹,但出现错误。我认为该错误将出现在URL基本文件中,但是我不知道如何解决它。我在Google上进行了一些搜索,但没有成功...
考虑到模板加载程序会遍历所有应用程序中的模板,因此您不需要在模板名称的前面添加应用程序,因此在您的情况下>>
template_name = 'blog.html'