2013-04-01 4 views
1

내 정적 및 미디어 파일 저장소에 django-s3-folder-storage를 사용하고 있습니다. 설명서에 언급 된 모든 지침을 따랐지만 여전히 정적 파일을 제공 할 수 없습니다. 내 사용자 업로드 파일을 서비스 할 수 있지만 파일을 버킷에 복사 한 collectstatic 명령을 실행 한 후에도 정적 파일이 웹 사이트에 표시되지 않습니다. 내 도메인에 CNAME 레코드를 만들지 않았습니다. 사용자가 업로드 한 이미지를 볼 수있어 별 차이가 있는지 여부는 확실하지 않습니다.Amazon S3 in django for production

DEFAULT_FILE_STORAGE = 's3_folder_storage.s3.DefaultStorage' 
DEFAULT_S3_PATH = "media" 
STATICFILES_STORAGE = 's3_folder_storage.s3.StaticStorage' 
STATIC_S3_PATH = "static" 
AWS_ACCESS_KEY_ID = # omitted 
AWS_SECRET_ACCESS_KEY = # omitted 
AWS_STORAGE_BUCKET_NAME = # omitted 

MEDIA_ROOT = '/%s/' % DEFAULT_S3_PATH 
MEDIA_URL = '//s3.amazonaws.com/%s/media/' % AWS_STORAGE_BUCKET_NAME 
STATIC_ROOT = "/%s/" % STATIC_S3_PATH 
STATIC_URL = '//s3.amazonaws.com/%s/static/' % AWS_STORAGE_BUCKET_NAME 
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/' 

STATICFILES_DIRS = (
     root('static'), 
) 

그리고 내 프로젝트 디렉터리 :

내 설정은 파일 I 아래 좋아하는 STATIC_URL을 변경 한

website_name 
    static 
    website_name 
     settings.py 
+0

s3fox를 사용하고 있는데 어떤 이유로 파일이 버킷에 있는지 여부를 확인할 수 없습니다. 나는 여기에 관해 여기에서 또 다른 질문을 게시했다. (http://stackoverflow.com/questions/15747933/amazon-s3-problems-with-s3fox). 직접 URL을 사용하여 액세스 할 수 없습니까? s3.amazon.com에 CNAME 레코드 포인트를 설정하지 않았습니다? 정적 파일에 액세스하려면 설정해야합니까? – Dev

+0

Amazon의 웹 인터페이스를 통해 S3에 로그인하여 버킷의 내용을 확인하십시오. 또한 Django 버전, MEDIA_URL 및 STATIC_URL 설정을 질문에 추가 할 수 있습니까? _URL 설정을 새 도메인 이름으로 변경하지 않았다면 CNAME이 아직 문제가되지 않습니다. – toxotes

+0

안녕하세요, 설정에 대한 질문을 수정했습니다. 또한 amazon 사용자 인터페이스를 사용하여 로그인 할 때 버킷을 볼 수 있으며 모든 정적 파일도 볼 수 있습니다. – Dev

답변

0

을하고 지금은 잘 작동된다.

STATIC_URL = '//bucketname.s3.amazonaws.com/static/'

그러나 MEDIA_URL 자체 문서에서 언급 한 같은과 MEDIA_URL가 잘 작동합니다. 수정이 필요한 것은 STATIC_URL뿐입니다.

설명서가 잘못되었습니다.

+3

설명서가 잘못되었다는 것이 아니라 구성의 일부분을 설명하지 않는다고 생각합니다. – toxotes

0

일반적으로 S3은 하위 도메인 또는 하위 폴더 경로 형식을 사용할 수 있습니다. 이 특정 저장소에서 사용하는 django-storages의 기본값은 하위 도메인입니다. 하위 폴더로 변경하면 문제가 해결된다는 점이 흥미 롭습니다. OP는 different question의 유럽 지역을 언급하고 있으며 여기에서 근본적인 문제는 사용중인 끝점 또는 S3/S3BotoStorage의 지역에 영향을주는 구성 설정 (예 : AWS_CALLING_FORMAT) 중 하나와 관련이 있다고 생각합니다.