2012-09-26 3 views
2

sorl-thumbnail과 관련하여 다소 어려움이 있습니다. 내 렌더링 된 웹 페이지에서sorl-thumbnail 미리보기 이미지를 생성하지 않습니다.

{% thumbnail project.image "75x75" crop="center" as im %} 
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}"> 
{% empty %} 
<p>:(</p> 
{% endthumbnail %} 

내가 할 썸네일에 대해 다음 경로 : 내 MEDIA_URL은 다음과 같이 설정되어 있기 때문에

<img src="/media/cache/ff/29/ff299c50543aa807b0fbd28faf271e63.jpg" width="75" height="75">

지금이 모든 말이 다음과 같이

내 템플릿입니다 /media/은 내 서버의 로컬 폴더 httpd.conf에 매핑됩니다.

문제는이 경로가 서버에 없기 때문에 이미지가 끊어진 링크로 표시된다는 것입니다.

사용자 정의 저장소 개체를 사용하고 있습니다.이 항목이 sorl.thumbnail ImageField을 통과 할 때 영향을 미치지 않습니다. 또한 서버에서 실행중인 memcached 캐시 백엔드를 사용하고 있습니다.

귀찮은 점은 내가 THUMBNAIL_DEBUGDEBUG을 가지고 있어도 오류가 발생하지 않는다는 것입니다. 그래서 잘못 된 것이 있는지보기가 어렵습니다. 나는 엄지 손톱 파일을 디스크에 쓰지는 못했지만 성공한 것으로 돌아가려면 {% empty %} 문이 실행되지 않고 해당 캐시 파일이 서버에 나타나지 않아서 성공으로 돌아가고 있음을 확신합니다. 나는 왜 어떤 오류가 없기 때문에 왜 모르겠다.

나는이 시점에서 다소 당황하여 어떤 도움을 주시면 감사하겠습니다.

편집 :

지금 sorl에 포기했는데 잘 작동하는 대신에 쉬운 축소판을 사용하고 있습니다.

+0

서버의 실제 폴더를 확인하여 썸네일이 성공적으로 생성되었거나 썸네일이 전혀 생성되지 않았는지 확인 했습니까? 썸네일이 생성되는 데 문제가 없다면, 아마도 'MEDIA_URL'과'MEDIA_ROOT' 설정이나 비슷한 것일 것입니다 –

+0

예. 서버의 폴더를 확인했는데 축소판이 생성되지 않습니다. 불행히도 나는 왜 그런지 잘 모르겠다. 내'MEDIA_ROOT'와'MEDIA_URL'은 괜찮은 것 같습니다. 그들은 사이트의 다른 모든 측면에서 작동합니다. 즉. 'model.image.url' 메쏘드는 올바른 값을 반환합니다. –

답변

2

외부 소스에서 축소판을 생성해야하므로 easy-thumbnails을 사용할 수 없으며 매우 비슷한 문제가 발생했습니다. 내가 준비한 것으로 알고있는 것은 준비 작업과 동일한 데이터베이스를 사용하고 있으므로 이미지를 개발 한 후에 데이터베이스에 캐시 된 파일 이름을 저장하고 준비에서 렌더링하려고하면 같은 파일 이름을 선택합니다 데이터베이스에 저장되지만 파일은 준비 단계에 있지 않습니다.

에 한번 우리가 잘못 인코딩 된 URL을 사용했기 때문에

./manage thumbnail clear 
+0

memcached에 문제가 있는지 확인할 수 있습니다. thumb에 대한 경로는 이미 데이터베이스에 있지만 엄지 파일은 파일 시스템에서 더 이상 존재하지 않습니다. ./manage thumbnail 분명히 나에게 도움이되지 않았다. 데이터베이스를 수동으로 정리해야했습니다. – snakey

0

Sorl 우리를 위해 썸네일을 작성하지 않은 실행. 공백으로는 ''또는 '% 20'대신 '+'를 포함하고 sorl은 '% 2B'('+'로 인코딩 됨)로 다시 인코딩합니다. 결과로 발생하는 URL 오류가 표시되지 않고 미리보기 이미지 생성이 무시되었습니다. 아마도이 문제를 가진 사람을 도울 것입니다.

관련 문제