我正在尝试将所有静态和媒体文件复制到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.
答案 0 :(得分: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'将是您应用的名称。