問題タブ [werkzeug]

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.

0 投票する
4 に答える
138783 参照

python - 104、「接続はピアによってリセットされました」ソケット エラー、またはソケットを閉じると FIN ではなく RST になるのはいつですか?

Python Web サービスとクライアント Web サイトを並行して開発しています。クライアントからサービスに HTTP リクエストを送信すると、1 回の呼び出しで常に socket.py の socket.error が発生します。

Wireshark でリッスンすると、「良い」応答と「悪い」応答が非常によく似ています。

  • OAuth ヘッダーのサイズが原因で、要求は 2 つのパケットに分割されます。サービスは ACK で両方に応答します
  • サービスは、ヘッダーごとに 1 つのパケットで応答を送信します (HTTP/1.0 200 OK、次に Date ヘッダーなど)。クライアントはそれぞれに ACK で応答します。
  • (良い要求) サーバーは FIN、ACK を送信します。クライアントは FIN、ACK で応答します。サーバーは ACK を返します。
  • (不正な要求) サーバーが RST、ACK を送信し、クライアントが TCP 応答を送信しない場合、クライアント側で socket.error が発生します。

Web サービスとクライアントの両方が、glibc-2.6.1 を実行する Gentoo Linux x86-64 ボックスで実行されています。同じ virtual_env 内で Python 2.5.2 を使用しています。

クライアントは、httplib2 0.4.0 を呼び出してリクエストを行う Django 1.0.2 アプリです。OAuth トークンを常に空の文字列に設定して、OAuth 署名アルゴリズムでリクエストに署名しています。

このサービスは、Python の wsgiref.simple_server を使用する Werkzeug 0.3.1 を実行しています。問題なく wsgiref.validator を介して WSGI アプリを実行しました。

これは簡単にデバッグできるように思えますが、サービス側で適切なリクエストを追跡すると、socket._socketobject.close() 関数でデリゲート メソッドをダミー メソッドに変えて、不適切なリクエストのように見えます。send または sendto (どちらかは覚えていません) メソッドがオフになると、FIN または RST が送信され、クライアントは処理を開始します。

「ピアによる接続のリセット」はサービスに責任があるようですが、httplib2も信頼していません。クライアントに過失がある可能性はありますか?

** さらなるデバッグ - Linux 上のサーバーのように見えます **

私は MacBook を持っているので、1 台でサービスを実行し、もう 1 台でクライアント Web サイトを実行してみました。Linux クライアントは、バグ (FIN ACK) なしで OS X サーバーを呼び出します。OS X クライアントはバグ (RST ACK、および (54、「ピアによる接続のリセット」)) を使用して Linux サービスを呼び出します。つまり、Linuxで実行されているサービスのようです。x86_64ですか?悪いglibc?wsgiref? まだ見て...

** さらなるテスト - wsgiref は不安定に見える **

Apache と mod_wsgi を使用して本番環境に移行し、接続のリセットはなくなりました。以下の私の回答を参照してください。ただし、接続のリセットをログに記録して再試行することをお勧めします。これにより、サーバーは開発モードで問題なく動作し、本番環境でも安定して動作します.

0 投票する
2 に答える
3186 参照

python - Werkzeug と Jinja2 を使用したコンテキスト プロセッサ

私のアプリケーションは App Engine で実行されており、WerkzeugJinja2を使用して実装されています。Django 独自のコンテキスト プロセッサと機能的に同等のもの、つまり、リクエストを受け取り、テンプレート コンテキストに何かを追加する callable が必要です。テンプレート コンテキストに何かを追加する「コンテキスト プロセッサ」を既に持っていますが、このリクエストパーツを機能させるにはどうすればよいですか? 後でコンテキストを更新するために使用される辞書を返すだけの callable として、コンテキスト プロセッサを実装しました。

たとえば、 に含まれているものを追加したいと思いrequest.environます。

0 投票する
1 に答える
1677 参照

python - Flash/Silverlight を使用しない Python (WSGI) での AJAX アップロード、プログレス バーあり

クライアント側の SWF の代わりにサーバー ポーリングを使用してアップロードの進行状況を表示する、純粋な Javascript/Python アップロードの例を探しています (たとえば、rapidshare.com のもののように)。

現在、Web サイトは Werkzeug フレームワークに含まれているスタンドアロンの wsgi サーバーで実行されていますが、負荷が増加した場合は mod_wsgi に移動する可能性があります。

gp.fileupload ミドルウェアを試しましたが、動作しません。彼らのウェブサイトの例も機能しません:|

Web サイトでは、他のさまざまなクライアント側のものに既にGlowライブラリを使用していますが、特定のアップロード関連の機能はありません。

0 投票する
1 に答える
904 参照

python - Werkzeug と SQLAlchemy 0.5x セッション

更新しました:

Werkzeugリンク テキストチュートリアルを実行すると、推奨されている create_session() の代わりに sessionmaker() を使用して SQLAlchemy セッションを作成するスタックが得られました。

注: これは SA に関するものではなく、Werkzeug に関するものです。

Werkzeug チュートリアル:

sessionmaker() を使用して同じことを達成する方法を尋ねました。

その結果、#pocoo RCI の人たちが私を助けてくれました。

sessionmaker (**args) の最後に () がないと、エラーが発生し続けました:

RuntimeError: アプリケーションにバインドされたオブジェクトがありません

PSラムダを削除すると機能しません。

0 投票する
4 に答える
303 参照

python - WebでPythonを支援する

私はWerkzeugを使用してWSGI準拠のアプリケーションを作成してきました。フロントページのコードを変更しようとしています。

その基本的な考え方は、/ hello URLにアクセスすると、「HelloWorld!」を取得することです。メッセージ。/ hello /に移動すると、「hello!」が表示されます。たとえば、/ hello / jeffは「HelloJeff!」を生成します。とにかく、私がやろうとしているのは、名前を入力できるテキストボックスを含むフォームをフロントページに配置することです。フォームは/helloに送信されます。したがって、フォームに「Jeff」と入力して送信すると、「HelloJeff!」が表示されます。メッセージ。

しかし、私はこれを行う方法がわかりません。「name」変数をhelloテンプレートに渡す必要がありますが、方法がわかりません。これが私のindex.htmlです:

method = "get"も、予想どおりに機能しません。

0 投票する
3 に答える
2253 参照

python - 一般的なWerkzeug、およびPython3.1

私は、Pythonを使用してWebアプリケーションを開発できるすべての方法**(s)**を真剣に検討してきました。参考までに、RHEL 64ビット、apache、mod_wsgiを使用しています。

歴史:

  1. PHP+MySQL数年前
  2. PHP + Python 2.x+MySQL最近および現在
  3. Python+PostgreSQLがそれに取り組んでいます

PHPとPythonの間の通信に優れたライブラリを使用しています(PHPのインターフェイス、Pythonのバックエンド)...ただし、今後のプロジェクトが大きくなると、100%pythonを使用するのが非常に有利になる場合があります。

私たちは通常、物事がどのように行われるかを指示するモノリシックなフレームワークを持たないことを好みます。便利なヘルパーとユーティリティのコレクションが非常に好まれます(PHPまたはPython)。

質問1:

経験豊富なPythonユーザーからの多くの回答を読んで、Werkzeugが何度も推奨しているのを見てきました。Werkzeugを使用してプロのWebアプリケーションを開発した直接の経験を持つ何人かの人々が、なぜそれを使用するのか、なぜそれが好きなのか、そして注意すべきことを(指のように詳細に)コメントできるといいのですが。

質問2:

Python3.1.1をサポートするバージョンのWerkzeugはありますか。Python3.1.1を使用してApache2.2にmod_wsgiを正常にインストールしました。

バージョンがない場合、Python 3.1で動作するようにアップグレードするには何が必要ですか?

注:2to3Werkzeugソースコードで実行しましたが、Pythonでコンパイルします。

編集:

私たちが始めているプロジェクトは、今からほぼ1年後まで終了する予定はありません。その時点で、Python3.Xがもっと主流になると思います。さらに、私たちがアプリを実行している(配布していない)ことを考えると、Python 3の問題のいくつかをバッシングする可能性について誰もがコメントできるので、1年後になると、多かれ少なかれすでにそこにいます?

感謝します!

0 投票する
3 に答える
2026 参照

python - ビューへの werkzeug マッピング URL (エンドポイント経由)

werkzeug の使用を開始して、(urls.py ファイルから) URL を (フォルダー ビューから、次にさまざまな種類のビューを管理するために別のファイルで) ビューにマップしようとしましたが、私のフォルダー構成は次のようになります。

私の urls.py ファイルは次のようになります。

そして明らかに、views/places.py ファイルでその部分を取得しました:

Werkzeug の例のほとんどは、ビューに URL をアタッチするためのデコレータ公開の利用を示しています。5 つまたは 6 つの URL を持つアプリでは実用的ですが、それ以上になると地獄になる可能性があります...

URLをビューに直接マップする簡単な方法はありますか???
ありがとう。

0 投票する
3 に答える
1580 参照

python - Tipfy を使用して HTTP GET 変数を取得する

現在、Google の Appengine でtipfyをいじっていますが、最近問題が発生しました。アプリケーションで GET 変数を使用する方法に関するドキュメントを見つけることができません。tipfyWerkzeug のドキュメンテーションは成功しませんでした。request.form.get('variable')POST 変数を取得したり**kwargs、URL 変数のハンドラーで使用できることはわかっていますが、それはドキュメントが教えてくれることと同じです。何か案は?

0 投票する
1 に答える
795 参照

python - Apache で werkzeug を実行しようとしています (wsgi エラー)

私の data_site.wsgi ファイル:

Apacheでエラーが発生しました:

パス:

0 投票する
2 に答える
9484 参照

python - Python を使用して、zip アーカイブ内のファイルの名前を取得する

Web サイトでダウンロードできる非常に大きな zip ファイルがいくつかあります。Python を使用する Flask マイクロフレームワーク (Werkzeug ベース) を使用しています。

実際にダウンロードせずに、zip ファイルの内容 (つまり、ファイル名とフォルダ名) を Web ページ上の誰かに表示する方法はありますか? サーバー側でワークアウトを行う場合と同様に。

私自身、zip アーカイブに何が入っているかを知らないと仮定します。

この投稿にコードが含まれていないことをお詫びします。

助けてくれてありがとう。