#概要
AmazonEC2にSSH接続し$python manage.py collectstaticを実行したところ下記のエラーが出現しました。エラーを解決したく原因をご教授願いたいです。
動かして学ぶ!Python Django開発入門という書籍のP353以降でエラーが出ております。
#実行したこと&試したこと
静的ファイル配置ディレクトリの作成として$sudo mkdir -p /usr/share/nginx/html/static
メディアファイル配置ディレクトリの作成として$sudo mkdir /usr/share/nginx/html/media
その後、静的ファイル、メディアファイルの配置ディレクトリの所有者を変更しました
ネットで検索して、STATIC_ROOTをSTATIC_ROOT = os.path.join(BASE_DIR,"static")などにしてみましたが同じエラーが発生しました。
#エラーコードとsettings.py
エラーコード
Traceback (most recent call last): File "manage.py", line 22, in <module> main() File "manage.py", line 18, in main execute_from_command_line(sys.argv) File "/home/app_admin/venv_private_diary/lib64/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line utility.execute() File "/home/app_admin/venv_private_diary/lib64/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/app_admin/venv_private_diary/lib64/python3.7/site-packages/django/core/management/base.py", line 330, in run_from_argv self.execute(*args, **cmd_options) File "/home/app_admin/venv_private_diary/lib64/python3.7/site-packages/django/core/management/base.py", line 371, in execute output = self.handle(*args, **options) File "/home/app_admin/venv_private_diary/lib64/python3.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 194, in handle collected = self.collect() File "/home/app_admin/venv_private_diary/lib64/python3.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 118, in collect handler(path, prefixed_path, storage) File "/home/app_admin/venv_private_diary/lib64/python3.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 345, in copy_file if not self.delete_file(path, prefixed_path, source_storage): File "/home/app_admin/venv_private_diary/lib64/python3.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 255, in delete_file if self.storage.exists(prefixed_path): File "/home/app_admin/venv_private_diary/lib64/python3.7/site-packages/django/core/files/storage.py", line 311, in exists return os.path.exists(self.path(name)) File "/home/app_admin/venv_private_diary/lib64/python3.7/site-packages/django/contrib/staticfiles/storage.py", line 38, in path raise ImproperlyConfigured("You're using the staticfiles app " django.core.exceptions.ImproperlyConfigured: You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path.
settings.py
from .settings_common import * import os DEBUG = False ALLOWED_HOSTS = [os.environ.get('ALLOWED_HOSTS')] STATIC_ROOT = '/usr/share/nginx/html/static' MEDIA_ROOT = '/usr/share/nginx/html/media' AWS_SES_ACCESS_KEY_ID = os.environ.get('AWS_SES_ACCESS_KEY_ID') AWS_SES_SECRET_ACCESS_KEY = os.environ.get('AWS_SES_SECRET_ACCESS_KEY') EMAIL_BACKEND = 'django_ses.SESBackend' LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'loggers': { 'django': { 'handlers': ['file'], 'level': 'INFO', }, 'diary': { 'handlers': ['file'], 'level': 'INFO', }, }, 'handlers': { 'file': { 'level': 'INFO', 'class': 'logging.handlers.TimedRotatingFileHandler', 'filename': os.path.join(BASE_DIR, 'logs/django.log'), 'formatter': 'prod', 'when': 'D', 'interval': 1, 'backupCount': 7, }, }, 'formatters': { 'prod': { 'format': '\t'.join([ '%(asctime)s', '[%(levelname)s]', '%(pathname)s(Line:%(lineno)d)', '%(message)s' ]) }, } }
よろしくお願い致します。
あなたの回答
tips
プレビュー