2012-08-01 3 views
1

전체 정적 컨텐츠를 기반으로하는 장고 애플리케이션을 배치하고 있습니다. 응용 프로그램을 사용하는 모든 컴퓨터는 인프 라넷에 있으며 nfs를 통해 정적 컨텐츠를 사용할 수 있습니다.인트라넷의 nfs를 통해 장고 정적 컨텐츠

django는 웹 서버를 통해 강제로로드하는 대신 사용자가 nfs 마운트를 통해 정적 데이터를 가져올 수 있도록 구성 할 수 있습니까?

나는 템플릿이있어 경우 : 브라우저가

http://localhost:8000/path/to/img.png 

에서 해당 이미지를 요청하는

<img src="/path/to/img.png"/> 

하는 난 할 노력하고있어하면 클라이언트로 그 치료를받을 것입니다 서버에 대해 묻는 대신 로컬 경로를 사용하십시오.

답변

5

파일 시스템 (NFS 마운트 또는 기타)에서 파일을 참조하려면 사용할 URI는 file:///path/to/file입니다. 그러나 을 사용할 수 없습니다. <a href="file:///path">은 로컬 파일 시스템에서로드 된 정적 HTML 파일에서만 작동합니다.

보안상의 이유로 웹 페이지는 로컬 파일 시스템에 액세스 할 수 없습니다. 정적 파일에 대한 액세스 속도를하려면 Why can't I do <img src="C:/localfile.jpg">?

를 참조하십시오, 하나의 옵션은 정적 파일 (아마도 nginx? 또는 lighttpd? 또는 mongoose?) 사용을 서비스하기 위해 최선을 다하고있어 별도의 경량 웹 서버를 설정하는 것입니다 해당 서버의 URL은 MEDIA_URL입니다.

0

글쎄, 당신은 그것을 밖으로 시도해야합니다. django가 정적 컨텐츠 경로를 다른 상수로 취급한다면 네트워크 공유 경로가 잘 작동합니다. 그러나 그렇지 않은 경우 static_on_network_share 또는 무언가와 같이 자신의 상수를 정의하고 templates/html에 내용을로드하는 동안 해당 상수를 사용할 수 있습니다.

관련 문제