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中,你可以通过对象
或模型名称访问数据,iePOST
,因为您的型号名称都是大写的。我写了{{POST}
或{p>{POST.text}}
,但没有显示任何内容。我犯了什么错误吗?