1

我正在部署一个基于大量静态内容的 Django 应用程序。使用该应用程序的所有计算机都位于 Intranet 上,静态内容可通过 nfs 获得。

django 是否可以配置为让用户通过他们的 nfs 挂载获取静态数据,而不是通过 Web 服务器强制获取?

如果我在模板中有这个:

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

浏览器正在从

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

我想要做的是让客户端将其视为本地路径,而不是向服务器询问它。

4

2 回答 2

5

要引用文件系统中的文件(NFS 挂载或其他方式),要使用的 URI 是file:///path/to/file. 但是,这不适用于您的情况 -<a href="file:///path">仅适用于从本地文件系统加载的静态 HTML 文件。

出于安全原因,不允许网页访问本地文件系统。请参阅为什么我不能执行 <img src="C:/localfile.jpg">?

如果您想加快对静态文件的访问速度,一种选择是设置一个单独的轻量级网络服务器,专门为您的静态文件提供服务(可能是nginx?或lighttpd?或mongoose?)并使用该服务器的 URL 作为你的MEDIA_URL.

于 2012-08-01T21:16:48.797 回答
0

嗯,你应该试试看。如果 django 将静态内容路径视为另一个常量,那么您的网络共享路径应该可以正常工作。但是,如果不是,那么您可以尝试定义自己的常量,例如:static_on_network_share 或其他东西,并在模板/html 中加载内容时使用该常量。

于 2012-08-01T20:43:23.470 回答