2010-05-25 4 views
0

즉석에서 이미지 축소판을 생성하고 싶습니다.django 및 nginx로 주문형 미리보기 이미지 생성

내 사이트는 django로 제작되었으며 모든 정적 컨텐츠를 제공하고 역방향 프록시를 사용하여 django/apache와 통신하는 nginx를 사용하여 배포됩니다.

지금 내 사이트의 모든 이미지에 대해 미리 필요한 모든 크기의 축소판을 생성하고 필요할 때 제공합니다. 문제는 미리보기 이미지의 크기를 변경할 때마다 모든 사진을 재생성해야한다는 것입니다.

그러나 지금은 처음에 액세스 한 후 나중에 nginx에서 n 이상의 동일한 파일을 제공 할 것이라고 축소판을 생성하고 싶습니다. 더 적은 액세스로 인해 해당 축소판 파일을 삭제하면 다음에 자동으로 생성됩니다. 내 경우에는 썸네일에도 내 응용 프로그램의 일부 계산 논리가 필요한 워터 마크가 있으므로 웹 서버 썸네일 모듈이 제대로 작동하지 않을 수 있습니다.

미리보기 이미지의 크기를 URL에 포함시킬 수 있습니다. 따라서 http://www.example.com/thumbnail/abc_320x240.jpg은 미리보기 이미지의 320x240 크기를 가져옵니다.

지금 당장 접근하는 방법은 파일을 nginx에서 찾도록하고, 존재하지 않으면 내 장고 응용 프로그램에 질의를 전달하여 축소판을 만들고 응답 또는 리디렉션 문자열을 보냅니다. 그러나 동시성 문제와 나중에 나타날 수있는 다른 문제에 대해서는 잘 모르겠습니다.

이것을 달성하는 적절한 방법은 무엇입니까?

답변

1

설명하는 내용은 sorl.thumbnail에서 워터 마킹을 뺀 방법입니다. 하지만 당신은 아마도 watermarking을 기본 thumbnailing에 추가하기 위해 sorl을 꽤 쉽게 수정할 수 있습니다.