私はこのチュートリアルに従いました:
DjangoアプリをGoogleApp Engineにデプロイします。そこにあり、機能していますが、移行を実行してユーザーを作成する必要があります。それらに対してmanage.py
を実行するにはどうすればよいですか。サーバー?Google Cloud PlatformコンソールからサーバーにSSHで接続する方法を見つけましたが、サーバーに入ると、正しいPython環境をロードする方法や、サーバーを実行する方法が見つかりません。 manage.py
。
私も読んだ AppEngineフレキシブル環境でDjangoを実行中 これはそれを行う方法を説明しておらず、彼らの構成ファイルはデータベースの資格情報が最終的にアプリケーションのgitrepoは大きなノノですが、私はそれをしていません。つまり、ワークステーションから本番データベースに接続するのは面倒です。
たとえば、これがHerokuの場合、開発ワークステーションでこれを実行します。
heroku run python manage.py migrate
または
heroku run python manage.py createsuperuser
そしてそれはサーバーでそれらのコマンドを実行するでしょう。 Google App Engine Flexible(およびStandard)でも同じことをしようとしています。
おそらく、これはこれに遭遇した他の誰かにとって有用です。通常の操作には@Georgeの回答を使用することをお勧めしますが、ピンチでシェルを使用してAppEngineからpythonコマンドを実行できます。最近デバッグ目的で使用する必要がありました。SSHを使用しました。アプリでのアクセスエンジン->インスタンス GCPコントロールパネルで。私の場合、VMインスタンス内でdockerを実行するフレックス環境を使用していたので、いくつかあります手順。
docker ps
。私の場合、私のDjangoアプリはgaeapp
というコンテナーで実行されていました。docker exec -it gaeapp /bin/bash
python manage.py help
注:これらの環境は一時的なものと見なす必要があり、一貫したワークフローのこの部分を作成しないでください。 App Engineインスタンスがデバッグモードから通常の操作に戻されると、インスタンスが破棄され、新しいインスタンスが置き換えられる可能性が非常に高くなります。これは、生成されたファイルがすべて失われることを意味します。また、生成されたファイルは、潜在的に多くのVMインスタンスの1つにのみ存在することを意味します。
サーバーに一度デプロイされたのではなく、デプロイメントの観点からファイルを整理するために、開発環境でローカルにmanage.pyを実行することになっています。オンラインの「Running Django in the App EngineFlexibleEnvironment」から詳細を収集できます document 。