【问题标题】:I am getting this error "didn't return an HttpResponse object. It returned None instead"我收到此错误“没有返回 HttpResponse 对象。它返回了 None ”
【发布时间】:2016-05-01 05:21:35
【问题描述】:

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

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

我试图复制和修改我的“发布”类以满足我的“标签”需求,但我的代码不起作用

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"]

我的帖子/urls.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'),
]

我的意见.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)

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

【问题讨论】:

    标签: python django


    【解决方案1】:

    你应该返回渲染

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    • 2017-11-26
    • 2020-04-17
    • 2021-09-01
    • 2023-03-17
    • 2019-10-13
    • 2019-11-27
    相关资源
    最近更新 更多