2012-10-15 4 views
1

관리자 패널에서 업로드 한 모든 Django 미디어 파일을 Amazon S3에 업로드하려고합니다. 그래서 설정 파일은 다음과 같이 보일 :Django 미디어가 AS3에 업로드

INSTALLED_APPS = (
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'django.contrib.admin', 
'tastypie', 
'core', 
'advertisment', 
'storages', 

) 

    DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' 
    AWS_ACCESS_KEY_ID = 'xxx' 
    AWS_SECRET_ACCESS_KEY = 'xxx' 
    AWS_STORAGE_BUCKET_NAME = 'media' 
    MEDIA_URL = 'https://s3.amazonaws.com/%s/' % AWS_STORAGE_BUCKET_NAME 

을 내가 관리자 패널에서 파일을 업로드하려고 할 때, 나는 다음과 같은 오류가 발생합니다 : 내가 this 답을 확인하지만 여전히하지 않았다

S3ResponseError: 403 Forbidden 

help

답변

2

django-storage가 boto에 종속되어 있기 때문에 boto을 설치 했습니까?

그런 다음 당신은 당신의 settings.py 그런 다음 캐시는 AWS S3 자체에 저장됩니다

import os 

AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID') 
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY') 
AWS_STORAGE_BUCKET_NAME = os.environ.get('S3_BUCKET_NAME') 

STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage' 
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' 

STATIC_URL = 'http://' + AWS_STORAGE_BUCKET_NAME + '.s3.amazonaws.com/' 
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/' 

에 다음을 추가해야합니다.

가 나는

참고 도움이되기를 바랍니다 : 보안이 대신 직접 setting.py에서 그들을 작성하는 환경 변수로 AWS_ACCESS_KEY_ID 및 AWS_SECRET_ACCESS_KEY를 추가하기 위해 좋은 생각을 이유.

+0

예 Boto가 설치되어 있고 여전히 동일한 문제가 있습니다. 그것을 알아 내려고 몇 시간을 보낸 후, 나는 boto가 버킷 키를 얻으려고 할 때 문제라고 생각한다. 원래 게시물의 수정 내용을 검토하십시오. –

+0

방금이 설정을 사용했습니다. 나는 그것이 장고 1.6을 위해 일하고 있다고 확인했다. 정말 고마워! – user2673206