使用Tweepy在Django的页面上显示推文

时间:2013-09-04 11:27:34

标签: python django twitter tweepy

我是Django和Python的新手。 我正在尝试在一个页面上创建一个Django应用程序显示来自一个由ash标签过滤的帐户的推文流(目前硬编码)。

那是我的view.py

 from tweepy.streaming import StreamListener
 from tweepy import OAuthHandler
 from tweepy import Stream
 from django.http import HttpResponse

 consumer_key="XXXXX"
 consumer_secret="XXXXX"

 access_token="XXXXXX"
 access_token_secret="XXXXX"

class StdOutListener(StreamListener):

def on_data(self, data):
    print data
    return True

def on_error(self, status):
    print status

if __name__ == '__main__':
     l = StdOutListener()
     auth = OAuthHandler(consumer_key, consumer_secret)
     auth.set_access_token(access_token, access_token_secret)

stream = Stream(auth, l)
stream.filter(track=['BT'])


 def index(request):
  return HttpResponse("try")

我显然已编辑了consumer_key,consumer_secret,acess_token和acess_token_secret。 在我的urls.py中我有

 from django.conf.urls import patterns, url
 from showTweets import views

 urlpatterns = patterns('',
     url(r'^$', views.index, name='index')
 )

现在好了,如果我去索引打印出我的“尝试”。 但我想打印出打印我的推文的StdOutListener类,我确信这样做是因为从终端我进入该目录运行

 python urls.py

它在我的终端上显示推文流。 但是如何在索引页面上显示我的流媒体?

2 个答案:

答案 0 :(得分:0)

当您处于测试/练习阶段时,您应该使用内部django Web服务器,可通过以下方式访问:

python manage.py runserver

这将启动端口8000上的服务器,您可以在http://127.0.0.1:8000访问该服务器。如果该站点不在您的本地计算机上,只需添加您希望服务器运行的IP地址:

python manage.py runserver 192.168.1.1

如果这听起来很讨厌,我很抱歉,你是否已经通过了https://docs.djangoproject.com/en/1.5/的django教程?这是该教程中提到的第一件事之一,所以如果你没有完成它,那么你将从中受益匪浅。

此外,您不需要该视图中的第一行(from django.db import models)。我会告诉你原因,但是文档解释得比我好得多。

答案 1 :(得分:-1)

此代码行的功能是什么。  def索引(请求):   返回HttpResponse(“ try”)

我认为这就是问题所在。 U将索引函数设置为返回'try'=> httpresponse为'try'。