我收到了一个错误, / app / top /的ValueError 视图app.views.top没有返回HttpResponse对象。它返回了None。 我在views.py
中编写了代码from .models import POST
from django.shortcuts import render
def top(request):
contents = POST.objects.order_by('-created_at')
render(request, 'top.html', {'contents': contents})
在models.py
中from django.db import models
class POST(models.Model):
title = models.CharField(max_length=100)
text = models.TextField()
in html
<body>
<div>
{% for content in contents.all %}
<div>
<h2>{{ content.title }}</h2>
<p>{{ content.text }}</p>
</div>
{% endfor %}
</div>
</body>
在模型中,标题和文本的几个数据被注册,所以数据肯定不是空的。我认为这是目录错误,现在我的应用程序结构是
-mysite(parent app)
-app(child app)
-templates
-top.html
-models.py
-views.py
所以我不知道出了什么问题。我该如何解决这个问题?我的代码有什么问题?
答案 0 :(得分:0)
您必须修复错误消息的内容。
每个Django视图都必须返回HTTP响应。
如果查看视图功能,则不会返回任何内容。
您应该像这样修复您的视图功能。
def top(request):
contents = POST.objects.order_by('-created_at')
return render(request, 'top.html', {'contents': contents})