問題タブ [gae-module]
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.
database - Appengineデータストアに書き込むプロパティを動的に選択します
appengineでエンティティに書き込みたいプロパティを動的に選択しようとした人はいますか?例えば:
私は5つのフィールドを持つWebフォームを持っており、特定のユーザーはそれらのフィールドのサブセットに入力します。データを含むフィールドのみをサーバーにPOSTします(例:フィールド1、2、4)。サーバー側で、プロパティ1、2、および4のみをエレガントに書き込むにはどうすればよいですか?Modelクラスには、プロパティ名のディクショナリを返す関数(Model.properties())がありますが、これを使用してプロパティ名を選択するにはどうすればよいですか?
SQLでは、POSTされたフィールドをModel.properties()ディクショナリと照合することにより、INSERTまたはUPDATEステートメントを作成します。Appengine SDKのdbモジュールコードを調べて、ModelクラスにPropertyオブジェクトのコレクションがあるかどうかを確認しましたが、ディスク上にモジュールが見つかりません(Pythonとappengineは少し使い慣れています)。
更新:trunk / google / appengine / ext / db / init .pyを読みました。これにより、プロパティをグループとして参照する方法がないことが確認されました。回避策を知っている人はいますか?
何かご意見は?
Update2:この質問はAppEngineのGoogleグループで回答されました: http://groups.google.com/group/google-appengine/browse_thread/thread/b50be862f6d94b6e#
google-app-engine - GAE にデプロイするときに「完成した」GWT モジュールが再コンパイルされないようにするにはどうすればよいですか?
「Deploy to GAE」を押すたびにすべてのモジュールが再コンパイルされないようにするためにできることはありますか? (GWT やクライアント側にまったく触れていないときのように。)
「12個の順列をコンパイルして、コーヒーを飲みに行ってください...」の代わりに、「モジュールは変更されていません、スキップしています...」を時々見るといいでしょう。
google-app-engine - GAE/GWT: モジュールの読み込みエラー: 「com/androidstartup/serialization/KPadProject.gwt.xml」が見つかりません
GAE SDK 1.3.7、GWT SDK 2.1.0、Restlet 2.0.3 で Eclipse 3.5 を使用しています。アプリを実行すると、コンソール ログに次のように表示されます。
メインモジュール/KPadProject.gwt.xml
はルートパッケージにあります。構成を確認しましたが、問題ないと思います。
この時点で、この問題を解決するために何をすべきかわかりません。
python - Pythonモジュール/クラスのインポートと構造化
Google アプリ エンジン内でいくつかの基本的な python に取り組んでいますが、ハンドラーを構成する正しい方法を理解できませんでした。
- /main.py
- /project/handlers/__init__.py
- /project/handlers/AccountHandler.py
AccountHandler は基本的にクラスです
from project.handlers import AccountHandler python を使用すると、常に私に
TypeError:「モジュール」オブジェクトは呼び出し可能ではありません
クラスに名前を付けたり、インポートしたり、構造化したりするにはどうすればよいですか?
乾杯、マーティン
python - GAE 展開プロセスを含むすべてのアプリケーションでモジュールにアクセスできるようにする方法
すべての GAE アプリケーションで使用できるいくつかのユーティリティを含む Python モジュールがあります。私はそれを自分で作成しました。それは別のフォルダーであり、コードを更新したり、リファクタリングを作成したりすることがあります。作成するすべてのアプリケーションは、このモジュールから関数を使用できます。ここで、アプリケーション内のどこかにモジュール フォルダーをコピーし、その関数をインポートする必要があります。それは普通の手順であり、特別なことではありません。モジュールのコードを更新するとき、アプリケーションに既にインポートされている場合は、このモジュールを上書きする必要があります。次に、GAE ユーティリティを使用してアプリケーションをデプロイするだけで、すべて正常に動作します。問題は - すべてのアプリケーションにモジュールの多くのコピーがなくても、その中のコードを更新するたびにそれらをすべて上書きすることは可能ですか? しかし、1 つの場所に 1 つのコピーがあり、そこから自動的にインポートされますか? Python がモジュールを検索する場所にモジュール コードをコピーできることはわかっています。ただし、GAE 環境にデプロイするときに、このモジュール フォルダーをアプリケーションにコピーする必要があります。そのため、すべてのアプリケーションがローカル PC にあるときにアクセスできるモジュールのコピーが 1 つ必要であり、デプロイ時にそのフォルダーをアプリにコピーする必要があります。良い解決策はありますか?ありがとう。
google-app-engine - マクロを使用してコンパイルされたテンプレートが App Engine で機能しない
Jinja2 コンパイル済みテンプレートとモジュール ローダーを使用して、コンパイル済みテンプレート (Python コード) をデータストアから読み込みます。しかし、テンプレートにマクロが含まれている場合、アプリ エンジンでは機能しません: TypeError: 'NoneType' object is not callable
しかし、アプリ エンジン SDK では問題なく動作します。マクロ呼び出しをスキップすると、同じエラーが発生します。
マクロがなくても問題なく動作します。このマクロの問題に対する解決策がないため、テンプレートで Python 関数を呼び出して、マクロの機能を実装します。
更新: これは、エラーが発生するテンプレート ソース コードです。
そして、これはコンパイルされたテンプレート コード (フォーム ブロック部分) です。
更新:いくつかのデバッグの後、機能しました。でもわかる!!!問題: インポートを失います。そして、コードでインポートを再定義するとき。出来た。
モジュールの上部:
それを機能させるには、インライン インポートを追加する必要がありました。
誰かが説明できますか、どうすればインポートを失うことができますか??? この問題はアプリ エンジンでのみ発生し、SDK では発生しませんか ??? これは名前空間の問題ですか?
python - Pythonルーターモジュールのgaeのdocstringを作成するにはどうすればよいですか?
gaeでルーターモジュールのdocstringを作成したいと思います。また、それがモジュールの最初のものでなければならないことも知っています(ファイルエンコーディングタイプの後)。
重要なのは、このモジュールを単独で実行すると、インポートエラー(No module named webapp2
)しか発生しないということです。私が欲しかったのは、ファイルだけを実行しているときにdocstringを出力することですが、このインポートエラーでは許可されません。これを行う方法はありますか?
私は試した:
そして他の組み合わせですが、成功しません。
[編集]
特定のコードはありません。appengineの例である可能性があります:
google-app-engine - GoogleAppEngineがローカルのPythonモジュールを見つけられません
昨日アプリエンジンプロジェクトをアップロードしたとき(これ以前はすべて正常に機能していました)、何らかの理由で.pyファイル/モジュールの1つが見つかりません。私のディレクトリは次のとおりです。
何らかの理由で、次のエラーが発生します。
google-app-engine - 同じプロジェクト内の 2 つの GWT モジュールが GAE 上の同じデータベースにアクセスできますか?
GWT プロジェクトを 2 つの異なるモジュールに分割する予定です。
私のプロジェクトでは、Google Datastoreを使用しています。
問題は、2 つのモジュールが同じデータストアにアクセスできるかどうかです (アクセスしたいのですが)。
ありがとう!
python - Google App Engine でのアプリ エンジン モジュールの開始
App Engine の「モジュール」は、App Engine の新しい (そして実験的な、紛らわしい名前の) 機能です: https://developers.google.com/appengine/docs/python/modules。開発者は、「バックエンド」機能の使用をこの新しい機能の使用に変更するよう強く求められています。
モジュールのインスタンスを開始する方法は 2 つあるようです。HTTP リクエストをモジュールに送信する (つまりhttp://modulename.appname.appspot.com
、appname
アプリケーションとmodulename
モジュールに対して at) か、または を呼び出しますgoogle.appengine.api.modules.start_module()
。
シンプルな方法
モジュールのインスタンスを開始する簡単な方法は、HTTP 要求を作成することのようです。ただし、私の場合、これは 2 つの結果のみになり、どちらも私が望むものではありません。
アプリケーションが定義するバックエンドの名前を使用すると、つまり
http://backend.appname.appspot.com
、リクエストはバックエンドに適切にルーティングされ、適切に拒否されます (バックエンド アクセスはデフォルトでプライベートに定義されているため)。それ以外の場合は、リクエストがデフォルト モジュールの唯一のフロントエンド インスタンスにルーティングされます。モジュール名として
http://sdlsdjfsldfsdf.appname.appspot.com
. これは、 などの場合のように作成されたインスタンス ID にも当てはまりますhttp://99.sdlsdjfsldfsdf.appname.appspot.com
。そしてもちろん (これが問題です) 私のモジュールの実際の名前にも同様です。
API 経由で開始する
ドキュメントにはstart_module()
、モジュールとバージョンの名前で呼び出すと、指定されたモジュールの指定されたバージョンが起動するはずであると書かれています。ただし、UnexpectedStateError
有効な引数を指定してこの関数を呼び出すたびに、エラーが発生します。
不幸な状況
これを機能させることができないため、ドキュメントに記載されていない微妙な点があるかどうか疑問に思っています。私のセットアップは非常に簡単なので、これが広範囲にわたる問題であり、誰かが解決策を見つけたのではないかと思っています。