問題タブ [pyramid]
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 - pyramid paster pshell で transaction.commit 後にセッションが期限切れになるのを避ける
ピラミッドtansaction.commit()
でコミットする唯一の方法のようpaster pshell
です。Webページの提供には適していることは理解していますが、シェルでは、その後、次の SQLAlchemy MyModel.my_attribute 呼び出しで次のようになります。
どうすれば回避できますか?
python - Pyramid を使用したすべての HTTP トラフィックの gzip 圧縮
Pyramid フレームワークに基づいてモバイル サービスを作成しています。モバイルなので、帯域幅の使用量を減らすことはすべてプラスです。動的な HTML ページであっても、すべてのトラフィックを gzip で圧縮することを検討しています。
Pyramid フレームワークはこれにどのようなフックを提供しますか? または、タスク用の WSGI ミドルウェアはありますか? これは Nginx/Apache ではなく Python レベルで行いたいので、gzip がどれだけのメリットをもたらすかをより正確に統計できます。
python - Pyramid は応答を返しましたが、jQuery.ajax 成功コールバックは呼び出されませんでした
このシンプルな jQuery ajax を Pyramid webapp に投稿しています。
Ajax 呼び出し:
ピラミッド ルート:
ピラミッド ビュー:
今、私がサービスを呼び出すとき、私はこれを送信しています
リクエスト:
そして、私はこの応答を受け取ります:
問題は次のとおりです。
ajax 成功ハンドラーが呼び出されることはありません。エラーハンドラのみがエラー msg.statusText = 'error' で起動し続けます
何か足りない場合は教えてください。ありがとう
python - Python Pyramid - 複数のカメレオン ベース テンプレートを追加する
この手順を使用して、他のテンプレートから派生できる基本テンプレートを使用しています。
複数の基本テンプレートを作成するにはどうすればよいですか?
python - Pyramid メール送信: pyramid_mailer または marrow.mail
Pyramid ベースの Web アプリに送信メールのサポートを追加することに興味があります。私は、pyramid_mailer と marrow.mail (以前は TurboMail として知られていた) を認識しており、ピラミッド統合の例はこちら にあります。
同様の SO questionがありますが、私が探している経験豊富な意見はまったく得られません。
私はどちらの経験もありませんが、どちらもかなりうまく調理されているようです. 私のニーズは控えめで、トラフィックは非常に少なくなります...使いやすさは、競合が発生した場合のパフォーマンスよりも優先されます。両方とも、私にとってはうまくいく転送サポートを備えています (派手な配信機能は必要ありません)。
一見すると、pyramid_mailer がrepoze.tm2
トランザクション フックをサポートしていることが気に入っています。これは私のプロジェクトにとって便利です (marrow.mailer をハックインして同じことを行うことができると確信していますが、正当な理由がなければその作業を行いたくありません)。 )。また、埋め込み画像が marrow.mailer の Message() 本体でサポートされていることも気に入っています (後者の方が完全に形成されているという結論につながる可能性があります)。
意見、推奨事項、およびサンプル統合コードを探しています。
これもカバーしているメーリングリストのディスカッションを見つけました。
python - SQLAlchemy の代わりに MySQL raw を使用するように Pyramid を設定する
SQLAlchemy の代わりに MySQL を使用する Pyramid プロジェクトをセットアップしようとしています。
私の Pyramid/Python の経験は限られているので、オンラインでガイドを見つけたいと思っていました。残念ながら、私たちを正しい方向に押し進めるものを見つけることができませんでした。ほとんどの検索結果は、SQLAlchemy で生の SQL/MySQL コマンドを使用しようとしている人に関するものでした (多くは再投稿されたリンクでした)。
誰でもこれに関する有用なチュートリアルを持っていますか?
python - Pyramid oauth プロバイダーでリクエスト トークンを生成しようとすると、無効な署名エラーが発生する
oauth2
開発中の API へのアクセスを制御するために Pyramid アプリケーションを使用してリクエスト トークンを生成しようとしています。この例で動作するコンシューマ キーとシークレットを検証しようとして行き詰まりました。Pyramid request_token エンドポイントには、次のものがあります。
(は、指定されたおよびのConsumerKeySecret.getByConsumerKey
インスタンス変数を設定する SQLAlchemy モデルのクラスメソッドです。)key
secret
key
消費者側では、前述のブログ投稿に続いて、次のことを行っています。
ただし、検証は次のエラーで失敗します。
Invalid signature. Expected signature base string: GET&http%3A%2F%2Flocalhost%3A6543%2Fapi%2F01%2Frequest_token&oauth_body_hash%3D2jmj7l5rSw0yVb%252FvlWAYkK%252FYBwk%253D%26oauth_body_hash%3D2jmj7l5rSw0yVb%252FvlWAYkK%252FYBwk%253D%26oauth_consumer_key%3Db9085cb942dc427c92dd%26oauth_consumer_key%3Db9085cb942dc427c92dd%26oauth_nonce%3D42023151%26oauth_nonce%3D42023151%26oauth_signature_method%3DHMAC-SHA1%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1310338562%26oauth_timestamp%3D1310338562%26oauth_version%3D1.0%26oauth_version%3D1.0
ただし、各クエリ文字列パラメーターが「予期される」署名に 2 回出現するため、ここで混乱します。何がうまくいかないのですか?
それが簡単に答えられる質問なら、フォローアップがあります: 実際にリクエストを確認したら、リクエスト トークンを生成するにはどうすればよいですか? ライブラリは、このoauth2
点に関するドキュメンテーションが少し大雑把であり、そこにあるほとんどの例は、プロバイダーを作成するのではなく、コンシューマーを実装することを目的としているようです.
ありがとう!
更新 私自身の質問に答えて、私が答えだと思うものを提供します。のこのバグ レポートから、 を使用していたため、パラメータを含めると署名の検証が台無しoauth2
になっているように見えます。それを変更して問題を修正しました。私もこのライブラリでテストしていることを考えると、とにかくこれが起こるのは奇妙です。oauth_body_hash
GET
POST
2 番目の部分に答えるには、ランダムで十分な長さのキー/シークレット ペアを生成するだけでよいと思います。ランダムなソースの sha1 ハッシュを 2 つの 20 文字の部分に分割する人を見てきました。その後、ステップoauth2.Token
で使用できる URL を自動的に作成できますauthorize_token
。
もちろん、これについて間違っている場合は、必ずお知らせください。
file-upload - Pyramid/Pylons: アップロードされたファイルが POST リクエストで完全かどうかを確認するには?
ユーザーが Web ブラウザーを使用してサーバーに PDF をアップロードできるようにする Web ツールを作成しています。サーバーは Python (Paste + Pyramid) に基づいています。
私が現在抱えている問題は次のとおりです。ユーザーがかなり大きなファイル (100 MB としましょう) をアップロードし、アップロードが完了する前にアップロードをキャンセルした場合、サーバー上のハンドラー コードは引き続き呼び出されます (リクエストが中止されるのではなく)。 )。
問題は、request.POST['myfile'].file
それが起こったときに が不完全であることです。これは、サーバー上のどこかに単純に書き込むと、PDF ファイルが破損していることを意味します。
サーバーのログを見ると、Paste サーバー内に「壊れたパイプ」の例外が表示されます。ただし、その例外をキャッチして、ビュー/ハンドラーコードが不完全なファイルを実行および保存するのを防ぐ方法がわかりません。
python - どの Web フレームワークを選択するか
私はJavaの世界(apache wicket)から来ており、プロジェクトにpythonを使用する必要があります。
Turbogear2、Pyramid (Pylons)、またはDjangoについて聞いたことがあり、それらについていくつか読んだことがあります。私の最初の選択は、Pylons の上に構築された TurboGears2 であり、ツールは既にパッケージ化されていますが、おそらく誰かがアドバイスします。
wiki やブログのような多くのコンテンツを作成する必要はありませんが、データベース内のいくつかのオブジェクトを表現してアクセスを許可し、このデータを操作するための JavaScript インターフェイスを構築します。
私のためにWebフレームワークに必要なもの:
- 役割を持つ認証システム (管理者、ユーザー、グループなど)
- アプリ外でdojoのような強化された JavaScript ツールを使用しますが、アプリと JavaScript ライブラリの間でコンポーネントを共有できればよいでしょう。
- 簡単なAJAX : コンポーネントを「onChange」で更新する必要があります (送信ボタンは好きではありません)
- 良いORM。SQLAlchemy はわかりませんが、データベースへのオブジェクトのマッピング、データベースのプーリングなど、いいようです。
- 簡単な展開(Javaから来て、大丈夫だと思います;))
- css または js をページに簡単に追加する
- 私の神経を壊さないフレームワーク ;)
優れたドキュメントおよび/または優れたサポート
スレッド化/マルチプロセスのサポート (多くの計算があります。大量のメモリを消費するものもあれば、処理に時間がかかるものもあります。そのため、アプリケーションからプロセスを起動できるようにしたいと考えています。しかし、Python ライブラリを使用することが重要だと思います。 この質問とは関係ありませんか?)
THX