Python TemplateDoesNotExister位于/app/detail/3/

Python TemplateDoesNotExister位于/app/detail/3/,python,django,Python,Django,我犯了个错误 TemplateDoesNotExist at /app/detail/3/ app/post_detail.html. 我写了以下内容: def top(request): content = POST.objects.order_by('-created_at')[:5] page = _get_page(blog_content, request.GET.get('page')) return render(request, 'top.html',{

我犯了个错误

TemplateDoesNotExist at /app/detail/3/ app/post_detail.html.
我写了以下内容:

def top(request):
    content = POST.objects.order_by('-created_at')[:5]
    page = _get_page(blog_content, request.GET.get('page'))
    return render(request, 'top.html',{'content':content,"page":page})

class DetailView(generic.DetailView):
    model = POST

    def detail(request, pk):
        content = POST.objects.get(id=pk)
        return render(request, 'detail.html',{'content': content})
top.html中

<div>
         {% for content in page %}
            <h2>{{ content.title }}</h2>
            <p><a href="{% url 'detail' content.pk %}">SHOW DETAIL</a></p>
         {% endfor %}
</div>
<h2>{{ content.title }}</h2>
<p>{{ content.text }}</p>
当我访问
top.html
时,会显示普通的网站,所以它是正常的。但是当我放置ShowDetail链接时,错误就发生了

我没有在代码中的任何地方编写
post\u detail.html
,因此我真的无法理解为什么
post\u detail.html
会导致错误

作为测试,我在与
top.html
detail.html
相同的目录下制作了
post_detail.html
,但同样的错误也发生了。我想做一个系统,当我把显示细节链接,内容的细节显示

我该如何解决这个问题?我的代码有什么问题? 在阅读了答案之后,我重写了views.py的DetailView

class DetailView(generic.DetailView):
    model = POST
    template_name = 'detail.html'
但是当我放置ShowDetail链接时,没有显示任何内容

<h2>{{ post.title }}</h2>
<p>{{ post.text }}</p>
{{post.title}
{{post.text}


我写detail.html或views.py的方式是否错误?我如何显示detail的内容?

您正在使用一个通用的细节视图来显示文章细节。泛型视图不期望或使用
detail()
方法,而是查找
template\u name
class属性中指定的模板或默认模板,即
modelname\u detail.html


您可以通过将
detail
方法移出该类,使视图成为标准函数视图(如“顶部”视图);或者,完全删除该方法(因为它只执行泛型视图已经执行的操作)或者将你的模板重命名为
post_detail.html
或者设置
template_name='detail.html'

thx你的答案。我更新了我的问题。如果你知道什么,请帮助我。在DetailView中,你可以通过
对象
或模型名称访问数据,ie
POST
,因为您的型号名称都是大写的。我写了
{{POST}
{p>{POST.text}}

,但没有显示任何内容。我犯了什么错误吗?