1

私はDjangoとPythonが初めてです。灰タグでフィルタリングされたアカウントからのツイートのストリーミングをページに表示するDjangoアプリを作成しようとしています(今のところハードコードされています)。

それは私の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、c​​onsumer_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

私の端末にストリーミングされたつぶやきを表示しています。しかし、インデックス ページにストリーミングを表示するにはどうすればよいでしょうか?

4

2 に答える 2

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 チュートリアルはご覧になりましたか? これは、そのチュートリアルで最初に言及されていることの 1 つです。したがって、まだ実行していない場合は、実行することで大きなメリットが得られます。

また、そのビューの最初の行は必要ありません ( from django.db import models)。理由を説明したいと思いますが、ドキュメントは私ができるよりもはるかによく説明しています。

于 2013-09-04T11:47:59.893 に答える