2016-07-18 13 views
1

私はrethinkdbを持っています。データは5分ごとにデータベースに格納されます。 rethinkdbからこのデータフローをリアルタイムで検査するためのWebサイトを作成したいと思います。 つまり、ウェブページをサーフィンしているときに、ウェブページ上のdbからのデータは、ウェブページをリフレッシュせずに自動的に更新することができます。 私はそこにdjangoチャンネルやウェブソケットなどのリアルタイムにするいくつかの方法があることを知っています。しかし、djangoのモデルはrethinkdbをサポートしていません。リアルタイムで実現するにはどうすればよいですか?

申し訳ありません私はウェブサイトを作っている人であり、不正確な表現をしている可能性があります。 誰かが私にキーワードやヒントを教えてもらえますか?

+0

ようこそ、あなたは何を試して、何を期待しているなど、質問をするときにもう少し具体的にしてください。[参照する方法]を参照してください(http://stackoverflow.com/help/how-to-尋ねる) – Nehal

+0

あなたは厳密にDjangoでビルドしたいですか?それ以外の場合は、Meteor(バックエンドからフロントエンドの反応性を自動的に組み込む)またはFirebaseを使用するAngularJSをお勧めします。 Djangoとの簡単な言葉では、あなたが選んだ間隔でサーバーからデータを引き出すフロントエンドスクリプトが必要です。 – Rexford

+0

https://github.com/andrewgodwin/channels-examples/tree/master/liveblog 私は具体的に質問しませんでした。私が使用した例は上記です。 r.table( 'table_name')。change()。run()を使用すると、新しいデータ入力を知ることができ、リアルタイムのものを行うためにwebsocket(onmessageなど)に配置したいと考えています。しかし、私は私のrethinkdbに接続することができますが、私はこの例ではwebsocketに接続する方法を知らない。誰かが私にヒントを与えることができますか? – tinjuiho

答えて

1

あなたの質問をより具体的にすると、ここのコミュニティがより良いサポートを提供できるようになります。

ただし、ここでは問題の一般的な解決方法を示します。

  • フェッチする新しいデータがデータベースに追加されている場合

    • チェック:

      1. をすることができますバックエンドAPIを作成します。

        あなたは二つのことを行う必要がありますREST APIリクエストによる新しいデータ

  • AJAXは

    このAPIへ
    • 要求フロントエンドはデータ
    • 定期的に(すべての30秒)は、新たなデータがある場合、新しいデータが
  • を検出した場合に
  • が再びデータをフェッチチェック取得してください

    Djangoをバックエンドとして使用するには、Django Rest Frameworkを使用してAPIを作成することをおすすめします。あなたはその用途のフロントエンドを作成する必要がありますあなたのデータの

    1. のListView
    2. エンドポイントの最後のデータポイント

    次のIDとタイムスタンプを返す:

    このAPIは、2つのエンドポイントを持っている必要がありますjavascriptを使用してこれらのエンドポイントにリクエストを送信します。データをフェッチするときは、最新のデータポイントのIDとタイムスタンプを格納します。これを使用して、新しいデータがあるかどうかを確認します。

    AngularreactなどのJavascriptフレームワークを使用することをお勧めしますが、必要に応じてこれらは過度に使用される可能性があります。

    EDIT:

    今、あなたは、より具体的には、あなたの答えを更新したことを、ここに私のアドバイスです。あなたのナンバーワンの優先順位は、rethinkDBとリアルタイムデータのようです。 DjangoはrethinkDBと互換性がないため、これにはあまり適していません。しかし、DjangoではリアルタイムサポートがDjangoチャンネルではかなり進んでいます。

    あなたのプロジェクトの初期段階で、Djangoにコードベースがほとんどないように思えます。私はhorizonとrethink dbを使うことをお勧めします。 Horizo​​nは、rethinkdbからリアルタイムデータ用に構築されたjavascriptバックエンドです。

  • 関連する問題