2012-10-23 47 views
3

爲了向客戶端瀏覽器發送實時信息followinf燒瓶片段http://flask.pocoo.org/snippets/80/,我試圖使用燒瓶的主機框架。向juggernaut發送實時數據給客戶端

當我嘗試爲我的代碼實現它時,它仍然不提供客戶端瀏覽器中的實時輸出。

這是我的Python代碼:

import flask 
from flask.views import MethodView 
from tweetStreamsRT import StreamerRt 
from juggernaut import Juggernaut 


app = flask.Flask(__name__) 
app.secret_key = "xxxxx" 
PORT = 8080 

class View(MethodView): 

    def get(self): 
     return flask.render_template('index.html') 

    def post(self): 
     results = StreamerRt().filter(track=[flask.request.form['event']])    
     jug = Juggernaut() 
     jug.publish('channel', results) 
     return self.get() 


app.add_url_rule('/', view_func = View.as_view('index'), methods=['GET', 'POST']) 
app.debug = True 

if __name__ == "__main__": 
    print 'Listening on http://localhost:%s' % PORT 
    app.run() 

我的HTML頁面,從基本的HTML頁面繼承:

{% extends "base.html" %} 
{% import "forms.html" as forms %} 


{% block page_header %} 
    <div class="page-header"> 
    <h1>Welcome</h1> 
    </div> 
{% endblock %} 
{% block content %} 
    <h2>Enter the Event you would like to follow</h2> 
     <form action="/" method="post"> 
      <input type="text" name="event" /> 
      <input type="submit" value="Submit Query" /> 
      </form> 
      Results: 
      <pre> 
       <script type="text/javascript" charset="utf-8"> 
        var jug = new Juggernaut; 
        jug.subscribe("channel", function(data){ 
        alert("Got data: " + data);}); 
       </script> 

      </pre> 
{% endblock %} 

我很困惑,爲什麼沒有被髮送到客戶端瀏覽器。

感謝

+0

好吧首先是什麼'tweetStreamsRT' – John

+0

tweetStreamsRT是一個模塊,它導入tweepy並監聽twitter流式api並存儲到mongoDB中。 – user94628

+0

https://github.com/mitsuhiko/flask-pastebin是否適合您?你可以嘗試一些不太複雜的例子嗎? – soulseekah

回答

1

正如另一個答案所述,Juggernaut現在已被棄用。我會建議使用另一個PUB/SUB框架,如Faye

相關問題