我收到此错误"didn't return an HttpResponse object. It returned None instead"



>我正在尝试让我的标签返回到标签详细信息页面,但我收到以下错误消息

I am getting this error "didn't return an HttpResponse object. It returned None instead"

我试图复制和修改我的"Post"类以满足我的"标签"需求,但它在我的代码中不起作用

models.py:

class Tag(models.Model):
    title = models.CharField(max_length=250)
    slug = models.SlugField(max_length=200, unique=True)
    timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
    updated = models.DateTimeField(auto_now=True, auto_now_add=False)
    def __str__(self):
        return self.title
    def get_absolute_url(self):
        return reverse("posts:tag_index", kwargs={"slug": self.slug})
    class Meta:
        ordering = ["-timestamp"]

我的帖子/网址.py:

from django.conf.urls import url
from .views import post_list, post_create, post_detail, post_update, post_delete, sewp, TagIndex

urlpatterns = [
    url(r'^$',   post_list, name='list'),
    url(r'^tag/(?P<slug>[w-]+)/$', TagIndex, name="tag_index"),
    url(r'^create/$', post_create, name='create'),
    url(r'^sewp$', sewp, name='sewp'),
    url(r'^(?P<slug>[w-]+)/$', post_detail, name='detail'),
    url(r'^(?P<slug>[w-]+)/edit/$', post_update, name='update'),
    url(r'^(?P<id>d+)/delete/$', post_delete, name='delete'),
]

我 views.py:

def TagIndex(request, slug=None):
    instance = get_object_or_404(Tag, slug=slug)
    context = {
        "instance": instance
    }
    render(request, "posts/tags.html", context)

我的标签.html:

{% extends 'posts/base.html' %}
{% block content %}
   {{ instance }}
{% endblock content %}

我在YouTube上看到了一个视频,那个家伙做了

def detail(request):
   message = "hello"
   return HttpResponse(message)

但这不符合我的需求。当我点击一个链接时,我怎样才能做到所有具有相同链接的帖子都显示在我的标签.html页面上?

你应该返回渲染

return render(request, "posts/tags.html", context)

渲染是使用上下文呈现模板并返回HttpResponse的快捷方式

相关内容

最新更新