1

すべての静的ファイルとメディア ファイルを S3 バケットにコピーしようとしています。残念ながら、メディアルートと静的ルートが settings.py ファイルで提供されているという事実にもかかわらず....

DEFAULT_FILE_STORAGE = 'jeffrey.aws_storage_classes.MediaStorage'
AWS_ACCESS_KEY_ID = 'keyhere'
AWS_SECRET_ACCESS_KEY = 'secretkeyhere'
AWS_STORAGE_BUCKET_NAME = 'bucketname'
STATICFILES_STORAGE = 'jeffrey.aws_storage_classes.StaticStorage'

AWS_S3_DOMAIN = "%s.s3.amazonaws.com" % AWS_STORAGE_BUCKET_NAME
STATIC_URL = "https://%s/static/" % AWS_S3_DOMAIN
MEDIA_URL = "https://%s/media/" % AWS_S3_DOMAIN

MEDIA_ROOT = u'/home/namehere/mysite/media'
STATIC_ROOT = u'/home/namehere/mysite/static'

....私のdjango contribフォルダーのファイルはコピーされているようですが、静的フォルダーとメディアフォルダーのファイルはコピーされていません。以下は私のbashコンソールです:

Type 'yes' to continue, or 'no' to cancel: yes
Copying '/usr/local/lib/python2.7/dist-        packages/django/contrib/admin/static/admin/css/fonts.css'
Copying '/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/img/icon-addlink.svg'
Copying '/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/img/icon-no.svg'
Copying '/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/img/inline-delete.svg'
....
....
Copying '/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg'
Copying '/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg'
61 static files copied.
4

1 に答える 1

0

問題は INSTALLED_APPS 設定にあると思います。

django contrib フォルダーからファイルをコピーするのは間違いではありません。INSTALLED_APPS 設定内に 'django.contrib.admin' がある場合、上記のような静的ファイルがコピーされます。(これは Django 管理サイトです)。

アプリが INSTALLED_APPS にリストされていない場合、アプリのフォルダーからの静的ファイルの収集はスキップされます。この設定からアプリ名を削除することで、問題を正確に再現できました。間違いなく、突然、django contrib からファイルのみをコピーし、アプリの静的ファイルをスキップしました。したがって、問題が異なることが判明した場合でも、これは説明したのと同じ効果があります。

例: settings.py には、次のようなものがあることを確認する必要があります。

INSTALLED_APPS = [
    # Add your apps here to enable them
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'storages',                     #Amazon S3
    'myapp',
]

「myapp」はアプリの名前と同じになることに注意してください。

于 2016-12-18T19:37:00.447 に答える