有一个 django 项目设置了以下配置,用于显示托管到 AWS S3 的用户头像在部署的第一周工作,那么我一定是无意中更改了一些项目设置或模块(或 S3 上的某些更改),因为现在头像请求正在返回 404(未找到)。
这是最初工作的完整项目设置:
INSTALLED_APPS =(
...
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.twitter',
'avatar',
...
)
SOCIALACCOUNT_AVATAR_SUPPORT ='avatar'
AVATAR_STORAGE_DIR = rel('media')
if not DEBUG:
# AWS S3
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_STORAGE_BUCKET_NAME = 'my_bucket'
STATIC_URL = 'http://' + AWS_STORAGE_BUCKET_NAME + '.s3.amazonaws.com/'
MEDIA_ROOT = PROJECT_ROOT + 'media/'
MEDIA_URL = 'http://' + AWS_STORAGE_BUCKET_NAME + '.s3.amazonaws.com/'
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'
网址.py
urlpatterns += patterns('',
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),
)
这一切都没有改变,查看最近的提交我看不到我所做的任何改变以前工作路径的事情。是rel('media')
不好的做法AVATAR_STORAGE_DIR
(但为什么它最初会起作用)?