問題タブ [django-channels]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - djangoチャネルをインストールするときのDaphne、twisted pipエラー
pip
のインストールに小さな問題があります。githubリポジトリdjango channels
からこれに気付きました
注: Channel の最近のバージョンには、Daphne、asgi_redis、および asgiref の最新バージョンも必要なので、すべてを一度に更新してください。
私はこれを無視して から始めましたpip install channels
が、エラーが発生しました
Could not find a version that satisfies the requirement twisted<16.3,>=15.5 (from daphne) (from versions: )
No matching distribution found for twisted<16.3,>=15.5 (from daphne)
私が試してみるとpip install twisted
、混乱するだけです
だから私はこれに対するいくつかの解決策を見つけようとしましたが、解決策は私のpythonを再コンパイルすることを示唆しているので、この問題を解決するための他の解決策があるかどうか尋ねています.
私は既存のプロジェクトにdjango==1.8.7
andを使用しています。python3.5
django - Django-channels がサーバーの起動時にチャネル レイヤーのデフォルト (asgi_redis.RedisChannelLayer) を表示しない
何らかの理由で、daphne、redis、および django-channel を使用しているにもかかわらず、redis サーバーに接続できません。私の構成は以下のとおりです。
python - ジャンゴチャンネルの使い方
django で websocket を使用する必要があるため、チャネルのドキュメントを読みます。これで基本的な概念はわかりましたが、詳細なコードがほとんどないため、まだ混乱しています。
ここに私の質問があります:
コード内で ASGI を WSGI に合わせるにはどうすればよいですか? つまり、どのように構成するか、WSGI Server to ASGI
またはASGI to WSGI application
?
ajaxの使い方に影響はありますか?
django が http リクエストを他の Web サイトに送信した場合、影響はありますか?
どんな助けでも大歓迎です。
python - django チャネルと websocket の操作
127.0.0.1:8000/dashboard/にライン座標を入力するフォームと、座標を送信するための「OK」ボタンがあります。view を呼び出すことにより、座標が127.0.0.1:8000/api/line/LineDisplay()
にポストされます。ここで、Line 座標を127.0.01:8000/dashboard/に戻します。
これまでに次のことを行いました。
urls.py:
ビュー.py:
消費者.py
同様に、routing.py に次のコードを追加しました。
次の行が settings.py に追加されました。
現在、グループ「チャット」の扱い方がわかりません。グループもいらない。新しい行が投稿されたらすぐに行の座標が127.0.0.1:8000/dashboard/に表示されるようにするには、あと何をすればよいでしょうか?
注: ライン座標は/api/line/に適切にポストされています。チャネルからデータを取得してプッシュバックするために、サーバー コードを作成する必要があると思います。よろしいですか? ありがとう。
python - channels.Demultiplexerの後にdjangoユーザーを取得するには?
Django Channels を使用して、ユーザー関連の websocket サービスを構築しようとしています。routing.py の最初の行にこのデマルチプレクサがあります。
だから、今私はrouting.pyで消費者を書いています:
また
そして、入力に message.user がありません。
channel_session_user_from_http を再度呼び出す必要がありますか? Demultiplexer にユーザーを追加する信頼できる方法はありますか?
python - Django チャンネル
Django チャネル、WebSocket、およびチャット アプリケーションについては、ほとんど疑問がありません。Google でサービスを提供すると、人々が接続してチャットを開始できるチャットルームにアクセスできます。しかし、あるユーザーが別のユーザーにインスタント メッセージを送信する方法がわかりません。
例えば:
1) ジョンを友達に追加し、チャットを開始したい。2) サーバー側では、私と John をメンバーとしてオブジェクト Room を生成できます。3) WebSocket 経由でこの部屋にメッセージを送信すると、このメッセージが誰宛のものかはわかりますが、 John のチャネルを取得する方法がわかりません。
django - Django Channels コンシューマのテスト: 「reply_channel がコンシューマに送信されません」
Django Channelsとデコレータを使用@channel_session_user
しています (Django のセッション データにアクセスするため)。
これで問題なく動作しますが、テスト時に問題が発生します。
以下のテストでは、websocket.receive
チャネルにws_receive
メッセージを配置し、メッセージを取得して、メッセージのaction
値で定義されたチャネルに配置する必要があります。最後に、実際にそのチャネルに配置されたかどうかをテストします。
代わりに、呼び出しのある行を指す次のエラーが表示されws_receive()
ます。
ValueError: 消費者に送信された reply_channel がありません。@channel_session は、それを含むメッセージでのみ使用できます。
Channelsソースでエラーが発生します。
正しい返信チャネル名を含める代わりに、reply_channel
返品を印刷します。None
私は明らかな何かを見落としていますか?
python - スーパーバイザーでDjangoワーカーサーバーを実行しますか?
スーパーバイザーを使用して Django アプリケーションをデプロイしようとしています。スーパーバイザーを起動すると、daphne は正しく起動しますが、ワーカー サーバーは起動しません。
以下は、supervisor.conf (ワーカー ブロック) のコード サンプルです。
ブラウザは長時間待機し、次のように表示されます。
また、プロセスを個別に (プロセス制御システムを使用せずに) 起動すると、実際に機能することも付け加えることができます。私はNginxリバースプロキシの背後にいますが、それはまったく問題ではないと思います..
スーパーバイザーの出力は次のとおりです。