/ app / top /的ValueError

时间:2018-01-01 02:31:38

标签: python html django

我收到了一个错误, / 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

所以我不知道出了什么问题。我该如何解决这个问题?我的代码有什么问题?

1 个答案:

答案 0 :(得分:0)

您必须修复错误消息的内容。

每个Django视图都必须返回HTTP响应。

如果查看视图功能,则不会返回任何内容。

您应该像这样修复您的视图功能。

def top(request):
    contents = POST.objects.order_by('-created_at')
    return render(request, 'top.html', {'contents': contents})