問題タブ [djangoappengine]
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.
django - 静的ファイルの提供 - Appengine での Django-nonrel
基本的な Django-nonrel アプリを Appengine で正常に起動して実行することができました。テンプレートは適切にレンダリングされていますが、静的コンテンツは 404 応答を返します。
`python manage.py runserver' を使用して起動された開発サーバーの静的コンテンツには問題はありません。
の関連する行は次のstatic.py
とおりです。
関連するテンプレートで:
myproject/static
これにより、ディレクトリとディレクトリ内の静的ファイルがmyproject/myapp/static
開発サーバーで正常に提供されています ( python manage.py runserver
)。
これは私のapp.yaml
です:
これを修正する方法の手がかりはありますか?Appengine Web サーバーに静的ファイルを処理させたくありません。すべてを Django 経由でルーティングしたいと考えています (少なくとも今のところは)。したがって、私の場合、このような解決策は実際には受け入れられません。
編集:私はこれでこれを簡単に回避でき、app.yaml
からすべての静的ファイルを提供しますprojectdir/static
。
しかし、この解決策は汚いようです。すべてDjangoに任せたいと思います。
python - simplejson と antlr3 を djangoappengine プロジェクトにインポート中にエラーが発生しました
django-app-engine を使用するプロジェクトをビルドしていますが、GAE ランチャーでプロジェクトを実行するとインポート エラーが発生します。
私の最初のエラーは、appengine dev server 1.7.6 にアップグレードした後に simplejson をインポートする際のエラーと同じです。
GAE バンドルの old_dev_appserver.py を変更して、「simplejson」ではなく「json」をインポートすることで、この問題を解決しました (GAE バンドルを変更しても問題ないと思います..)
変更後、新しいエラーが表示されます。
上記のリンクで、@trope は実際に同じ問題があることについてコメントしましたが、元の問題にコメントを追加するよりも新しい質問の方が良いと思いました (simplejson を json に変更することで解決されます)。
ここで提案されているように: Django App Engine can't find antlr3 module、追加しようとしました
また、antlr3 ランタイムのインストールも試みました。
この問題は simplejson の回避策の直接の結果であるため、上記の問題とは異なると思いますが、おそらく同じです。
Python 2.7.2、GAELauncher 1.9.4
助言がありますか?
編集:最新バージョンの Launcher を使用して、PC でまったく同じセットアップ/コードベースを試してみましたが、まったく同じ 2 つのエラーが発生しました。最初は simplejson、次に antlr3 です。コードベース/djangoappengineのインストールに問題があるということでしょうか?
python - /_ah/queue/deferred 奇妙なインポート エラー
djangoappengine
ステッチ用のモジュールを使用して、Google App Engine で django 1.5 を実行しています。/_ah/queue/deferred への呼び出しの約半分で次のインポート エラーが発生することを除いて、すべて正常に動作します。
ご覧のとおり、djangoappengine モジュールはthird_party
ディレクトリ内にあり、このディレクトリはファイルに追加さsys.path
れているappengine_config.py
ため、実行に問題はないはずですfrom djangoappengine import main
。
関連する行app.yaml
は次のとおりです。
これらの散発的なインポート エラーの原因は何ですか? 私は何か間違ったことをしていますか?たぶん、私が気付いていないインポートループがありますか?
google-app-engine - 日時または非キー プロパティに基づく範囲で map reduce を使用する
Map-reduce を使用して、datetime プロパティまたはおそらくキー以外のプロパティで並べ替えられたクエリでモデル エンティティを処理できるようにしたいと考えています。
map reduce の重要な要素は、範囲を均等に分割し、範囲の「スペース」を最小にすることです (つまり、エンティティの数に基づくのではなく、範囲の可能なエンティティの数に基づく)。組み込みの範囲は、GAE が均等に分散するように設計したキー範囲であり、キーごとに 1 つに制限されています。
また、他のプロパティで範囲反復子を作成すると、2 つの問題が発生する可能性があるようです。(1) 均一な分布。(2) 任意の値でのエンティティの数。例として問題 (2) の場合、1 つの日時値に複数のエンティティが存在する場合があります。これにより、範囲を分割するためのバッチ サイズを決定する際に問題が発生するようです。
私の質問は次のとおりです: モデル キーに基づいていない範囲反復子を使用して map reduce モデル反復子を作成するための実用的な解決策はありますか?
django - Django アプリ エンジンを使用した Django-nonrel が管理インターフェイスにアクセスできない
GAEで取得できるように、Django-nonrelに取得しようとしているDjangoアプリがあります。ただし、問題は、 syncdbを実行するときに、管理インターフェイスのスーパーユーザーを何度も作成しようとしたことです。次のように表示されます。
Django の認証システムをインストールしたところです。これは、スーパーユーザーが定義されていないことを意味します。
また、作成したスーパーユーザーで管理インターフェイスにログインすることはできません。また、私がこれを行うとき:
SOユーザーは作成されていないようです。私は解決策を探そうとしましたが、次のようないくつかの質問を見ました。
他にもいくつかあります。どちらも助けにはなりませんでした。プロジェクトディレクトリにコピーして、django-nonrel 1.6とdjangoappengineのzipダウンロードバージョンを使用していることに言及したいと思います
参考までに、私のsettings.pyおよびapp.yamlファイルは次のとおりです。
設定.py:
app.yaml
django - Django-nonrel が管理インターフェースにログインできない
GAEで取得できるように、Django-nonrelに取得しようとしているDjangoアプリがあります。ただし、問題は、syncdb を実行しているときに、管理インターフェイス用のスーパーユーザーを何度も作成しようとしたことです。次のように表示されます。
Django の認証システムをインストールしたところです。これは、スーパーユーザーが定義されていないことを意味します。
また、作成したスーパーユーザーで管理インターフェイスにログインすることはできません。また、私がこれを行うとき:
SOユーザーは作成されていないようです。私は解決策を探そうとしましたが、次のようないくつかの質問を見ました。
他にもいくつかあります。どちらも助けにはなりませんでした。プロジェクトディレクトリにコピーして、django-nonrel 1.6とdjangoappengineのzipダウンロードバージョンを使用していることに言及したいと思います
また、python manage.py シェルでユーザーを作成し、is_staff= True を付与してみました。
ユーザーは User.objects.all() に表示されるようになりましたが、まだこのユーザーでログインできません。
python - Django App Engine のインストール CommandError の問題
django app engine docのインストールガイドに従っています。
各モジュールを解凍し、ディレクトリに配置しました
。次に、startproject コマンドを入力しました。
最後の「。」を削除して、startproject行を編集してみました。これは機能しますが、パス test/myapp/ を持つ「myapp」という名前の新しいフォルダーが作成されます。それが正しいプロジェクト構造であるべきだとは思いません。必要なすべてのファイルを test/ のルート フォルダーに置くべきではありませんか?
django - 大量のテキストを保存するスペース効率の良い Django モデル タイプ
現在、djangoappengine を使用して、既存の Google App Engine アプリケーションを webapp2 から django に移植しようとしています。
Djangoを使用してデータを保存するためのメモリスペース節約方法に相当するものはありますか? 無料ユーザーの場合、GAEに保存できる量に制限があるためです。
webapp2 モデル コード
TextField に大量のテキストを格納できることはわかっていますが、少ないメモリで格納できますか? BlobField の使用は可能ですか?
trendData に格納されるデータの例 (最大 24783 文字) は次のとおりです。
python - Django 管理コマンドがアプリケーションを見つけられない
NameError: global name "graphofknowledge" is not defined がスローされるため、カスタム コマンドの実行に問題があります。私のファイル構造は
これが私のカスタムコマンドのコードです
INSTALLED APPにアプリ名を追加しました。カスタムコマンドで印刷を実行すると機能します。しかし、モデルに import ステートメントを追加すると、NameError がスローされます。この問題を解決するにはどうすればよいですか?
google-app-engine - XMLHttpRequest エラー
すべてが 1 つのホストで実行されている場合は本番環境で正常に動作し、Web アプリが別のホストで実行されている場合はほとんど動作する Google App Engine アプリがあります。GET
サーバー ( 、POST
、PUT
、 ) との間のすべてのクエリはDELETE
、期待どおりに動作しています。これは、システム全体ですべての CORS が正しく構成されていることを示しています (数週間前にその戦いを戦い、すべて解決しました)。
私が作業できないのは、ファイルのアップロードだけです。django
、djangoappengine
、django-cors-headers
、およびを使用してfiletransfers
います。すべての最終的な結果として、リモート サーバーから実行しているときにファイルをアップロードできませんが、他のすべては正しく機能しています。Chrome の JavaScript コンソールに次のエラーが表示されます。
これは明らかに CORS エラーであるため、何が起こる必要があるかはおおよそわかっています。これを克服するために構成に必要な変更を加える方法がわかりません。
これが私の全体的なセットアップです:
dev_appserver.py
ポート 8080 で API を提供するgrunt serve
ポート 9000 でクライアント アプリを提供する- CORS 設定:
- 発達:
CORS_ORIGIN_ALLOW_ALL = True
- 製造:
CORS_ORIGIN_WHITELIST = [ '(app.domain.com for my app)' ]
- 発達:
本番環境では、バケットに CORSを設定することで修正されると思いますが、私は確信が持てません。ただし、展開する前にデータの全体的なフローをテストできるように、ローカル開発サーバーを構成する方法がわかりません。
最終的に失敗する JavaScript は次のとおりです (アプリは を使用していますAngularJS
)。
繰り返しになりますが、このようなコードは同じホストから実行すると正しく機能し (API 自体が正しく機能します)、(重要なことに) すべての HTTP メソッドがファイルのアップロード以外のすべてのエンドポイントで機能するため、CORS 自体が正しくセットアップされます。 App Engine とのやり取り。機能していないのは、ファイルのアップロード部分だけです。
おそらく修正には、フォームの代わりに JSON を使用してアップロード用にフォームを組み立てることが含まれFormData
ていると思いますが、過去にこれを行う方法を見つけたことがありません。
--- 追加するために更新 ---
明確にするために、このエラーの原因となっているエンドポイントはアプリ内に直接存在するのではなく、別の Google サービスによって処理される URL にあります。URL を提供するコードは次のとおりです。
返される URL は の形式/_ah/upload/<one-time key>
であり、その URL で発生するすべてのことは、ヘッダーの追加を含め、私の制御の範囲外にあるようです。