1

Google Compute EngineでDjangoアプリケーションをホストしています。私は、Google Cloud Storageからアプリケーションの静的要素をレンダリングしたいと考えています。私はGoogleのクラウドストレージバケット内のすべての静的要素を持っているwww.example.com/staticDjango Google Cloudストレージから静止画像をレンダリングするための設定

マイSettings.py:

# Static files (CSS, JavaScript, Images) 
STATIC_URL = '/static/' 
STATIC_ROOT = os.path.join(BASE_DIR, '../example_static') 

MEDIA_URL = '/media/' 
MEDIA_ROOT = os.path.join(BASE_DIR, '../example_media') 
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'), MEDIA_ROOT,) 

000-は、default.confファイル:

<VirtualHost *:80> 
    ..... 
    DocumentRoot /var/www/html 

    Alias /static /opt/projects/example-google/example_static 
    .... 
</VirtualHost> 

電流で設定では、パス:/ opt/projects/example-google/example_staticから静的ファイルを取得しています。

誰かがGoogle Cloudストレージバケットwww.example.com/staticからすべての静止画像をレンダリングするために必要な設定変更について説明できますか?

おかげで、

+0

どれでも提案してください? – Naveen

答えて

0

私はそれについて少し知っているので、これはDjangoのベースの答えは、ありませんが、サービス提供しながら、あなたはGCSに静的なコンテンツへのURLマップを提供するために、Google Cloud Load Balancer support for Google Cloud Storage別のルートのアルファリリースを見つけることができます残りのデータはGCEに保存されます。

1

あなたは、私が重宝 here

もう一つは、自動的にアプリのsettings.pyを次のように変更することにより、DEVとのprod環境間でスイッチングしているいくつかのドキュメントを見つけることができます。

if os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine'): 
    STATIC_URL = 'https://storage.googleapis.com/<your-bucket>/static/' 
else: 
    STATIC_URL = '/static/' 
+0

Google Compute Engineでこれを少し詳しく説明できますか?私は 'python -c' import osを実行しようとしました。 (os.getenv( 'SERVER_SOFTWARE'、 '')))、Google Compute Engine VMインスタンスのエラーとして "name 'SERVER_SOFTWARE'が定義されていません。 – Naveen

+0

ローカル開発サーバー[リンク](https://cloud.google.com/appengine/docs/python/tools/using-local-server)を実行する場合は、パッケージに 'SERVER_SOFTWARE'環境変数を追加する必要があります。ソフトウェアバージョンよりもローカルで実行されている場合は「dev」と表示されますが、GAEで実行される場合は「Google App Engine」となります – Yarh

関連する問題