昨日、私はこの記事を作成しました:DjangoアプリをデプロイするときにAWSに静的ファイルを提供する方法( `python manage.py collectstatic`が機能しませんでした)?
しかし、私はAWS(eb deploy
)にそれを展開した後、これは、私がアクセスしたときに、私が見たものである:私はpython manage.py runserver
をしたときDjangoRestFramework browsable api looks different locally vs when deployed on server?
私の静的ファイルが欠落していたため、上記のポストへの回答になりました。だから私は、AWS上で静的ファイルを展開する方法を検索し、このチュートリアルに出くわした:「サイト管理者を作成する」セクションでhttp://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html#python-django-update-app
、それは静的なファイルを提供するために、私が最初にそう(STATIC_ROOT
settings.py
に定義しなければならないことに言及します私はした:STATIC_ROOT = os.path.join(BASE_DIR, "ebdjangoapp/static/")
)し、eb deploy
した。ただし、サイトは2番目の画像と同じように見えます(スタティックファイルなし)。私はpython manage.py collectstatic
(css
ファイルなどを含むrest_framework
ディレクトリの静的フォルダを作成しました)を実行してからもう一度eb deploy
を実行しましたが、サイトstilは2番目の画像と同じように見えます。
どうして静的ファイルが表示されないのですか?
注意、私の周りを検索し、この記事に出くわした:Django app deployment not loading static filesと答えは言う:
「あなたはその後、非常に一般的にnginxのあなたの背後にあるリバースプロキシとして、任意のWebサーバーを経由してsettings.STATIC_URL
でsettings.STATIC_ROOT
にサービスを提供する必要がありますApache-mod_wsgiアプリケーションサーバー。
しかし、Webサーバ(nginx、リバースプロキシ、Apache-mod_wsgi)がどのように動作するかはわかりません。私はpython manage.py runserver
でローカルに実行するDjangoアプリを持っています。私はAWSの弾薬を持っています。 eb deploy
を実行して、私のDjangoアプリをAWSにデプロイします。どのような手順は、(私はnginx、リバースプロキシなどを設定する方法がわからないと仮定して)配置に静的ファイルが表示されるために取る必要があります。
いつでも '' python manage.py collectstatic''を実行していますか? –
@GrahamDumpletonはい、私は 'eb deploy'を行う前にそれをしました。 (基本的にはローカルで行い、すべてのファイルを静的フォルダに入れてから展開しました)。 – user2719875