0

方法有什么问题?'stream' 是我声明的用于启动流媒体的方法名称,它可以工作。但是,当我编写此方法来断开流媒体时,错误提示“str”对象没有属性“disconnect”。谁能给我举个例子或告诉我我错过了什么?

def twitter_stop(request):
    stream = request.session['stream']

    stream.disconnect()
     return HttpResponse(request)

更新:这是我正在工作的启动方法:

def twitter_start(request):
     stream = MyStreamer(settings.CONSUMER_KEY, settings.CONSUMER_SECRET,
                settings.ACCESS_TOKEN_KEY, settings.ACCESS_TOKEN_SECRET)
     # get the stream object from the SESSION
      request.session['stream'] = stream
     # get the keywords from the models
        keywords = Keys.objects.all()
        stream.statuses.filter(track=keywords)
         return HttpResponse(request)
4

1 回答 1

-1

2个请求对象不同; 您在request.session中的twitter_start中分配的流在执行该函数后会丢失。使用全局变量来存储流,例如:

global STREAM

def twitter_start(request):
    global STREAM
    STREAM = MyStreamer(settings.CONSUMER_KEY, settings.CONSUMER_SECRET,
                        settings.ACCESS_TOKEN_KEY, settings.ACCESS_TOKEN_SECRET)

    # get the keywords from the models
    keywords = Keys.objects.all()
    STREAM.statuses.filter(track=keywords)
    return HttpResponse(request)

def twitter_stop(request):
    STREAM.disconnect()
    return HttpResponse(request)
于 2013-09-30T03:46:09.297 回答