2011-05-08 8 views
0

장고에서는 사용자 입력 (POST)을 기반으로 R 함수를 사용하여 이미지를 만들고 그 이미지를 다시 사용자에게 표시하려고합니다.사용자 입력을 기반으로 이미지 생성/표시 - Django

내 접근 방식 : 이미지를 파일로 저장하고 템플릿 (양식과 동일한 템플릿)에 표시하십시오.

1) 올바른 방법입니까?

그런 다음 다른 매개 변수를 사용하여 양식을 몇 번 제출할 때 가끔씩 동일한 이미지가 표시되는 것을 발견했습니다. 따라서 어떤 종류의 캐싱이 브라우저에서 진행되고 있습니까? 나는 한 사용자가 만든 이미지를 다른 동시 사용자에게 우연히 전달하는 것에 대해서도 우려했다.

양식을 제출할 때마다 이미지의 이름에 난수를 추가하여 매번 새로운 이미지 이름 (및 새 이미지)을 얻습니다.

2)이 방법이 합리적인 방법입니까?

나는 바보 같은 일을하고 있다는 직감을 가지고 있지만, 내가 무엇을해야하는지 확신 할 수 없다.

답변

1

브라우저 캐시를 얻으려면, 당신은 단순히 합리적인 방법인지에 관해서는이

<img src="assest/images/img1.png?randomstring/> 

같은 이미지의 URL의 임의의 쿼리 매개 변수를 추가 할 수 있습니다, 그것은 여부 이러한 이미지가 될 필요가 달려있다 사용자가 페이지를 방문 할 때마다 다시 생성됩니다. 이 경우에는 this과 같은보기로 직접이 이미지를 제공하는 것이 좋습니다. 그렇지 않으면 다시 사용하지 않을 이미지를 삭제해야합니다.

어떻게 든이 이미지를 재사용해야한다면 하드 드라이브가 소모 된 것을 방지하는 메커니즘이 있어야한다는 것을 기억하십시오.

+0

(1,2,3, ..., 100)에서 임의의 숫자를 이미지 이름의 끝에 추가하려고합니다. 그래서 서로 저장하기 전에 100 개를 초과 할 수 없습니다. . – DavidC

+0

당신은 아직도 우리에게 말하지 않았습니다. 정말이 사진들을 저장해야합니까? 캐시 할 필요가 있니? 이름이 겹치기 때문에 그림이 생성 된 시간이나 UUID와 같이 (1.100) 이외의 다른 것을 사용하십시오. 또는 다음 모듈을 사용할 수 있습니다. http://docs.python.org/library/tempfile.html – ablmf

+0

감사합니다. 나는 사진을 저장하지 않아도되지만, 그 밖에 무엇을해야할지 몰랐다. 보기에서 직접 이미지를 제공하는 것에 대한 답변을 실제로 이해하지 못했지만 다시 돌아가서 다시 읽으려고합니다. – DavidC

관련 문제