3

http://flask.pocoo.org/snippets/80/のフラスコ スニペットに従って、クライアント ブラウザにリアルタイムの情報を送信するために、フラスコ用のジャガーノート フレームワークを使用しようとしました 。

コードに実装しようとしても、クライアント ブラウザにリアルタイムの出力が表示されません。

これは私の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 %}

クライアント ブラウザに何も送信されない理由がわかりません。

ありがとう

4

2 に答える 2

1

Juggernoutは非推奨ですhttp://blog.alexmaccaw.com/killing-a-library それを中心にアプリケーションを構築しようとしている場合は、別のものに切り替えるのが適切なタイミングです。EventSourceのようにhttp://www.html5rocks.com/en/tutorials/eventsource/basics/

于 2013-01-21T17:04:59.013 に答える
1

別の回答が述べているように、Juggernaut は非推奨になりました。Fayeのような別の PUB/SUB フレームワークを使用することをお勧めします。

于 2013-01-23T14:34:44.160 に答える