問題タブ [webapp2]
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 - webapp2: ルーティングの正規表現
このような問題があります。クラスの 1 つのメソッドで異なる URI を処理する必要があります (URI "/solution/add" および "solution/edit" の場合)。だから私はそのようなルーティングを書きました:
そしてwebapp2は404エラーを出します。この問題の解決策を教えてください。
もちろん、URIごとに異なるルートを書くこともできますが、それほど興味深いものではありません.)
google-app-engine - webapp2を使用したURLリダイレクト
GoogleAppEngineにデプロイするアプリケーションを開発していますwebapp2
。URLの前には、常に次のような言語識別子が付きます。
言語識別子で始まらないリクエストは、対応する英語バージョンに自動的にリダイレクトしたいと思います。たとえば、次のURLは上記のURLにリダイレクトする必要があります。
現在、webapp2_extras
可能なURLごとに1つのリダイレクトを設定するために使用しているため、コードの重複が多く発生しています。問題は、私の理解では、URLリダイレクトをwebapp2
ハンドラーごとに定義する必要があるということです。
正規表現(私の場合は言語識別子)に一致しないすべてのリクエストを、対応する変更されたURL(私の場合は追加)にリダイレクトするにはどうすればよいen/
ですか?
google-app-engine - webapp2認証モデルが一意のテーブルを使用するのはなぜですか?
私はwebapp2authをコードベースに実装していて、この癖を理解したいと思っていました。
models.pyで、次のように記述されていることがわかります。
新しいを作成するときにプロパティの一意性を確保するために
User
、最初Unique
にそれらのプロパティのレコードを作成し、すべてがうまくいけば、新しいUser
レコードを保存できます::
私には、これは一意性をテストする非常に複雑な方法のように思えます。正直なところ、「create_multi」関数が何をしているのか完全には理解していません。これが、ここで少し混乱している理由かもしれません。私の思考プロセスは次のとおりです。
簡単なクエリを実行して、ユーザー名(auth.id)がデータストアに存在するかどうかを確認します。そうでない場合は、put()。
私は何かが足りないことを知っています、誰かが私にそれを説明できますか?おそらくコードがそこに入力されているので、必要に応じて複数の一意のものを簡単に作成できるという予感がありますか?
ありがとう!
psどうやら、webapp2コードはこのコーディングに触発されたようです。
python - Webapp2 Authサンプルコードにログインした後、「TypeError:タイプ'NoneType'のオブジェクトにlen()がありません」
ここにあるWebapp2のAuthの例に従おうとしています:http ://code.google.com/p/webapp-improved/issues/detail?id = 20
実際のmain.pyは次のとおりです。
ユーザーを作成してログインしようとすると、次のトレースバックが表示されます。
アプリケーションがデプロイされたときにも発生するため、SDKではないことはわかっていますが、プロジェクトにndbを手動で追加する必要がありました。
ここで何が起こっているのかについて何か考えはありますか?
python - アプリエンジンをエンコードする
次のようなエンコードの問題があるのはなぜですか。
http://sandengine.appspot.com/?hl=es&device=mobile
HTML で UTF8 を使用していますが、問題はバックエンドにあります。
これはオープン ソース プロジェクトであり、コードはここから入手できます。 https://github.com/coto/gae-boilerplate
前もって感謝します。
python - webapp2 を使用して URL にスラグがある
問題: jQuery からポスト リクエストをサーバーに送信すると、呼び出す URL は次のよう/get_post_data/my-custom-slug
になりlocalhost:8080/get_post_data/my-custom-slug
ます。ただし、これは/my-custom-slug-two
、ユーザーがテンプレート内のどこをクリックしたかによって変わる場合があります。URLルーターがスラッグをキャッチし、そのURLのハンドラー関数がスラッグを取得して、スラッグに基づいて、データベース内のモデルを呼び出してデータをフェッチして送り返します。
ソリューション戦略: 上記を念頭に置いて、URLルーターをどのように設計したかを次に示します。
以下は、URL ハンドラー関数です。
問題は次のとおりです。理想的には出力があるはずですmy-custom-slug
が、問題はハンドラー関数で my_slug 変数を取得できないことです。どこが間違っていますか?
python - 一時的な値をappengineモデルのクエリセットに関連付ける
以下は私のモデルです:
私は2つのテーブルを持っていmatch
ますteam
:
実行時に、ハンドラー関数の1つにPOSTリクエストが行われたときに、チームの評価をのクエリセットに動的に関連付けMatch
て値を送信したいのですが、これが私がやろうとしている方法です。
現在のチームから評価を取得するカスタム関数があります。次のとおりです。
トラブル:私も試しsetattr
た代わりにエラーが発生しますが、それでもうまくいかないようです。他のすべては完璧に機能しています。setattr
m.rating1 = te1
m.rating2 = te2
助けてください!
python - Google Cloud SQL(GAE)Pythonアプリでデータベース接続を管理するための優れたアプローチは何ですか?
私はGoogleAppEngineを学んでいて、Google Cloud SQLインスタンスへのデータベース接続を管理するための優れたアプローチを見つけようとしています(GC-SQLを使用したことがない場合は、基本的に、クラウド内のMySQLです。制限)。
リクエストを処理するために、webapp2フレームワークを備えたpython(2.7)GAE環境を使用しています。よくある質問では、リクエストごとにDBへの新しい接続を確立することをお勧めしていると書かれていますが、接続を閉じるための推奨される方法がわかりません。開発中にテーブルを削除しようとするたびに、GC-SQLがハングし、「show processlist」は、多数のプロセスがあり(おそらく、DBを閉じていないため)、そのうちの1つがロックを待機していることを示します(おそらく、テーブルを削除しようとしているプロセス)。これは煩わしく、GC-SQLインスタンスを再起動する必要があります(mysql-serverサービスの再起動のように想像します)。また、DB接続を実際に閉じていないという事実に関連していると私が信じるDBの一時的な中断もあります。
したがって、たとえば、DBから切断するためにwebapp2.Requesthandlerサブクラスインスタンスにデストラクタを設定する必要がありますか?GAEオブジェクトは時々キャッシュされるように見えるので、それも考慮すべきことです。クエリごとに接続/クエリ/切断するだけでよいと思いますが、これは最適ではないようです。
これは漠然とした質問だと思いますが、この分野でプレーしている人が私のやり方でいくつかのヒントを教えてくれることを願っています。
前もって感謝します!
更新: Shayの回答を出発点として、カーソルを必要とするメソッドのラッパーを実装してみました。GAEエラーが発生します。これに固有の新しい質問があります。AppEngineからのGoogleCloudSQLの接続制限と、DB接続を最適に再利用する方法を教えてください。