找不到 Django 中 TemplateResponse 返回的模板的页面

Page not found for the template returned by TemplateResponse in Django

我有一个名为 sitepages 的应用程序,它具有三个模型,我想将它们的对象传递到一个名为 listing.html 的 html 页面,该页面位于 templates/sitepages 中 网站页面 urls.py 包含:

from django.views.generic import TemplateView
from django.urls import include
from django.urls import path
from sitepages import views

app_name = "sitepages"

urlpatterns = [
    path("news-events-listing/", views.view, name='listing'),
]

sitepages/views.py:

from .models import Listing, Details1, Details2
from django.template.response import TemplateResponse

def view(request):
    return TemplateResponse(request, 'sitepages/listing.html', {
            'first_pages': Details1.objects.all(),
            'seconde_pages': Details1.objects.all(),
            'listing_page': Listing.objects.first(),
        })

在根目录 urls.py 我添加了:

path("", include("sitepages.urls", namespace='sitepages'))

当我在任何模板中输入以下内容时:

<a href="{% url 'sitepages:listing' %}">Listing</a>

它将我重定向到 url /news-events-listing 但没有找到任何页面,它给了我 404 错误...我做错了什么?为什么不返回模板?我应该提到我在整个网站上使用 wagtail(我不知道它是否相关)

在你的根 urls.py 中,确保你的新行

path("", include("sitepages.urls", namespace='sitepages'))

出现在 path("", include(wagtail_urls)) 之前。 wagtail_urls 模式匹配任何 URL 路径并将其传递给 Wagtail 作为 Wagtail 页面处理,因此永远不会到达它之后的任何模式。