問題タブ [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.

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

python - webapp2: ルーティングの正規表現

このような問題があります。クラスの 1 つのメソッドで異なる URI を処理する必要があります (URI "/solution/add" および "solution/edit" の場合)。だから私はそのようなルーティングを書きました:

そしてwebapp2は404エラーを出します。この問題の解決策を教えてください。

もちろん、URIごとに異なるルートを書くこともできますが、それほど興味深いものではありません.)

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

python - 基本機能の時間を節約するために利用できるAppEngineボイラープレートはありますか?

サインアップ、ログイン、ログアウト、セッションなど、webapp2を使用してアプリを構築するための基本機能を提供するプロジェクトはありますか。また、開発時間を節約し、テンプレートとPython2.7にJinja2を使用することをお勧めします。

私は2つ(1、2)を知っますが、代替案を探しています。

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

google-app-engine - webapp2を使用したURLリダイレクト

GoogleAppEngineにデプロイするアプリケーションを開発していますwebapp2。URLの前には、常に次のような言語識別子が付きます。

言語識別子で始まらないリクエストは、対応する英語バージョンに自動的にリダイレクトしたいと思います。たとえば、次のURLは上記のURLにリダイレクトする必要があります。

現在、webapp2_extras可能なURLごとに1つのリダイレクトを設定するために使用しているため、コードの重複が多く発生しています。問題は、私の理解では、URLリダイレクトをwebapp2ハンドラーごとに定義する必要があるということです。

正規表現(私の場合は言語識別子)に一致しないすべてのリクエストを、対応する変更されたURL(私の場合は追加)にリダイレクトするにはどうすればよいen/ですか?

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

google-app-engine - webapp2認証モデルが一意のテーブルを使用するのはなぜですか?

私はwebapp2authをコードベースに実装していて、この癖を理解したいと思っていました。

models.pyで、次のように記述されていることがわかります。

新しいを作成するときにプロパティの一意性を確保するためにUser、最初 Uniqueにそれらのプロパティのレコードを作成し、すべてがうまくいけば、新しいUserレコードを保存できます::

私には、これは一意性をテストする非常に複雑な方法のように思えます。正直なところ、「create_multi」関数が何をしているのか完全には理解していません。これが、ここで少し混乱している理由かもしれません。私の思考プロセスは次のとおりです。

簡単なクエリを実行して、ユーザー名(auth.id)がデータストアに存在するかどうかを確認します。そうでない場合は、put()。

私は何かが足りないことを知っています、誰かが私にそれを説明できますか?おそらくコードがそこに入力されているので、必要に応じて複数の一意のものを簡単に作成できるという予感がありますか?

ありがとう!

psどうやら、webapp2コードはこのコーディングに触発されたようです。

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

python - Webapp2 Authサンプルコードにログインした後、「TypeError:タイプ'NoneType'のオブジェクトにlen()がありません」

ここにあるWebapp2のAuthの例に従おうとしています:http ://code.google.com/p/webapp-improved/issues/detail?id = 20

実際のmain.pyは次のとおりです。

ユーザーを作成してログインしようとすると、次のトレースバックが表示されます。

アプリケーションがデプロイされたときにも発生するため、SDKではないことはわかっていますが、プロジェクトにndbを手動で追加する必要がありました。

ここで何が起こっているのかについて何か考えはありますか?

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

python - アプリエンジンをエンコードする

次のようなエンコードの問題があるのはなぜですか。

http://sandengine.appspot.com/?hl=es&device=mobile

HTML で UTF8 を使用していますが、問題はバックエンドにあります。

これはオープン ソース プロジェクトであり、コードはここから入手できます。 https://github.com/coto/gae-boilerplate

前もって感謝します。

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

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 変数を取得できないことです。どこが間違っていますか?

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

python - 一時的な値をappengineモデルのクエリセットに関連付ける

以下は私のモデルです:

私は2つのテーブルを持っていmatchますteam

実行時に、ハンドラー関数の1つにPOSTリクエストが行われたときに、チームの評価をのクエリセットに動的に関連付けMatchて値を送信したいのですが、これが私がやろうとしている方法です。

現在のチームから評価を取得するカスタム関数があります。次のとおりです。

トラブル:私も試しsetattrた代わりにエラーが発生しますが、それでもうまくいかないようです。他のすべては完璧に機能しています。setattrm.rating1 = te1m.rating2 = te2

助けてください!

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

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接続を最適に再利用する方法を教えてください。