2012-10-07 5 views
1

나는 재사용 할 수있는 파워 포인트 템플릿과 같은 파일을 다운로드 할 수있는 웹 사이트가 있습니다.장고 다운로드 수 추적

'Downloads'라는 파일의 정보와 위치를 저장하는 모델에 열을 추가했으며이 열에 파일을 다운로드 한 횟수를 추적하는 카운터로 사용하고 싶습니다.

어떻게하면됩니까? 페이지에 GET 요청이 있습니까? 기본적으로 파일에 대한 링크를 제공하기 만하면 자동으로 다운로드가 시작되므로 링크가 모델에 다시 클릭되었다는 사실을 전달하는 방법을 모를 수 있습니다.

답변

2

:-)

많은 감사 당신은 당신이보기에 업데이트 코드를 삽입 할 수있는 GET 요청을 처리하는 뷰를 생성합니다. Django-app에서 업로드 자체를 처리하지 않는 경우 데이터베이스에서 카운터를 업데이트 한 후 다운로드 링크로 리디렉션되는보기를 만들 수 있습니다.

2

당신은 몇이 작업을 수행 할 수있는 방법이 있습니다

  • 사용자 정의보기를 만들 것을을 "프록시"모든 파일,
  • 가 위와 같이 거의 동일한을 수행하는 미들웨어를 만들 다운로드의 트랙을 유지하면서, 필터링을 요청하는 필터링
  • .. 그러나 위의 어느 것도 django를 거치지 않고 http 서버에서 직접 제공되는 수집 된 정적 파일의 다운로드를 계산하려는 경우에는 적용되지 않습니다. 이 경우 웹 서버 로그에서 다운로드 횟수를 검색합니다. 귀하의 웹 서버가 로그를 데이터베이스에 저장할 수 있는지 확인하십시오. 그렇지 않으면 로그 파일을 구문 분석하고 dbj에 저장하는 cron 실행 스크립트를 작성하여 장고 응용 프로그램에서 액세스 할 수 있습니다.
1

redShadow처럼 프록시보기를 만들 수 있습니다. 이보기는 mod_xsendfile (웹 서버로 아파치를 사용하는 경우)을 통해 파일을 제공하고 다운로드 카운터를 설정할 수 있습니다.

관련 문제