2012-08-22 3 views
1

django-storage 백엔드를 사용하고 있으며 이전에 Amazon S3를 사용하지 않았습니다. Firefox S3 Manager를 통해 파일을 업로드하여 Amazon S3로 이전했습니다.Amazon S3를 사용하여 장고에서 업로드 된 파일에 연결

문제는이 코드입니다 :

요청이 서명 같은 GET 요청에서 필요한 PARAMS 포함되지 않습니다 생성
<a href="{{ MEDIA_URL }}{{ g.photo }}" class="lightbox" title="{{ g.description }}"> 
    {% thumbnail g.photo '95x95' crop="center" as im %} 
     <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}" /> 
    {% endthumbnail %} 
</a> 

. 그러나, sorl 생성 썸네일이 작동합니다!

S3에서 내 파일을 업로드하는 것과 관련하여 누락 된 것이 있습니까? href에 추가 할 코드가 있습니까? sorl이 파일을 검색하고 그 파일에서 축소판을 만들 수있는 이유는 무엇입니까?

+0

일부 정보가 누락되었습니다. S3 버킷의 파일이 비공개입니까? 그렇지 않은 경우 서명이 필요 없습니다. MEDIA_URL이 (가) 무엇입니까? – schneck

+0

나는 그들이 그렇다고 생각하지 않는다. 그들이 sorl에 의해 올바르게 표시되기 때문입니다. 그러나 원본 이미지 (unresized)에 대한 링크는 작동하지 않습니다. – yretuta

+0

음, MEDIA_URL 설정을 표시 할 수 있습니까? 그리고 {{im.url}}이 (가) HTML 코드에 표시하는 것을 보여주십시오. – schneck

답변

1

파일을 공개적으로 액세스 할 수 없습니다. 이는 업로드 또는 양동이 제한으로 인해 발생할 수 있습니다.

S3 관리자의 ACL 설정을이 파일에 대한 공용 액세스로 변경하거나 (이 파일 만 공개적으로 읽을 수 있어야하는 경우) 또는 양동이에 대한 세부적인 사용 권한을위한 버킷 정책을 만들 수 있습니다. AWS Console.

버켓의 파일이 공개되면 S3 클라이언트의 기본 ACL 설정을 적절하게 변경해야합니다.

+0

감사합니다! 나는 파일이나 디렉토리를 공개해야했다. – yretuta