私はこれらのチュートリアルを読みました:https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/およびhttp://docs.aws.amazon.com/elasticbeanstalk/latest /dg/create-deploy-python-django.html
私はDjango1.8.2を使用していますが、Amazonのドキュメントは少し古くなっているようです(まだdjango-adminの代わりにdjango-admin.pyを使用しています)、一部が機能していません(機能しない場合は、 realpythonリンクへのフォールバック1)。
そのため、管理ページが静的ファイルをロードしないことを除いて、すべて機能しました。そのため、cssファイルはロードされません。
これは私のsettings.pyです:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(__file__), 'static/')
私も使用しようとしました:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(BASE_DIR, 'static').
しかし、それでも機能しません。
これは私のeb設定ファイルです:
container_commands:
01_migrate:
command: "source /opt/python/run/venv/bin/activate && python papp/manage.py migrate --noinput"
leader_only: true
02_createsuperuser:
command: "source /opt/python/run/venv/bin/activate && python papp/manage.py createsu"
leader_only: true
03_collectstatic:
command: "source /opt/python/run/venv/bin/activate && python papp/manage.py collectstatic --noinput"
option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTINGS_MODULE: "papp.settings"
PYTHONPATH: "/opt/python/current/app/papp:$PYTHONPATH"
"aws:elasticbeanstalk:container:python":
WSGIPath: "papp/papp/wsgi.py"
"aws:elasticbeanstalk:container:python:staticfiles":
"/static/": "static/"
変更を加えた後、ebdeployコマンドを使用しました。
私がしなければならない追加のステップはありますか?私はここを読みました:エイリアスを変更する必要があるデフォルトのDjango 1.5 admin cssが機能していませんが、それはapache用です。
https://docs.djangoproject.com/en/1.8/howto/static-files/などのdjangodocファイルからも読みましたが、AWSのSTATIC_ROOTに何を入れるべきかわかりません
どんな助けでも大歓迎です。ありがとう
「aws:elasticbeanstalk:container:python:staticfiles」は、EC2インスタンス(/ opt / python / current / app / static / )のディレクトリ内のファイルを/ static /にマップします。
settings.pyのSTATIC_ROOTをos.path.join(BASE_DIR、 '..'、 'static')に設定すると、問題が修正されました
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加