基于Django类的mixin视图不返回HttpResponse obj

2024-09-29 17:18:35 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试使用mixin在Django中创建基于类的视图,但始终收到以下错误消息:

ValueError: The view twitter.views.TwitterExampleView didn't return an HttpResponse object.

如下面的代码所示,我从视图扩展为应用程序创建一个基本的TwitterView来处理从Twitter返回的错误消息。该视图进一步扩展为TwitterNetworkView,其中Twitter网络附加到视图。其他类允许对传递到请求中的参数进行一些转换。最后一个类TwitterExampleView包括参数转换的mixin和TwitterNetworkView。它的get方法以占位符的形式返回一个字符串“blah”。只有当它冒出气泡回到调度中时,才会做出响应,所以我忽略了什么呢?在

^{pr2}$

Tags: thedjangoview视图消息参数错误twitter
2条回答

您需要返回一个HttpResponse对象。在

from django.http import HttpResponse

...

class TwitterExampleView(TwitterPagedDefineParams, TwitterNetworkView):

    def get(self, request, *args, **kwargs):
        return HttpResponse("blahhhhh")

看看https://docs.djangoproject.com/en/1.7/intro/tutorial03/#write-your-first-view

您不会在您的TwitterNetworkView混音中返回任何来自dispatch的内容。如果没有return语句,该方法返回None,而不是HttpResponse。一种修复方法是让它返回super(TwitterNetworkView, self).dispatch(request, *args, **kwargs)的结果。在

相关问题 更多 >

    热门问题