Django:如何在浏览器中直接打开本地html文件,链接如下href=";file:///C:/path/file.html"

Django:如何在浏览器中直接打开本地html文件,链接如下href=";file:///C:/path/file.html",django,browser,file-upload,django-urls,local-files,Django,Browser,File Upload,Django Urls,Local Files,我正在制作一个django应用程序来索引我保存在不同分区和目录中的本地文件(html、文本、pdf等)集合,以便根据文件的名称、日期、标题等轻松搜索。它就像一个高级定位程序,unix实用程序。它生成一个带有文件链接的动态页面,如果是html文件,我应该单击并在浏览器中加载本地文件。生成的页面包含以下链接: 问题是,当我单击它时,它什么也不做,甚至连错误消息都不做。如果我保存这个生成的html页面并直接在浏览器中打开它,它就可以正常工作。我认为它不适用于安全问题,但我不会假装将其作为互联网上的w

我正在制作一个django应用程序来索引我保存在不同分区和目录中的本地文件(html、文本、pdf等)集合,以便根据文件的名称、日期、标题等轻松搜索。它就像一个高级定位程序,unix实用程序。它生成一个带有文件链接的动态页面,如果是html文件,我应该单击并在浏览器中加载本地文件。生成的页面包含以下链接:

问题是,当我单击它时,它什么也不做,甚至连错误消息都不做。如果我保存这个生成的html页面并直接在浏览器中打开它,它就可以正常工作。我认为它不适用于安全问题,但我不会假装将其作为互联网上的web应用程序使用,而是作为本地应用程序使用。我正在使用django开发服务器。我知道django可以提供静态文件,将它们放在一个特定的目录中,但这不是我需要的(文件位于多个位置);我想将浏览器中的文件作为本地文件加载,而不是通过服务器加载。这能做到吗


在django有什么办法可以让file:///C:/path/file.html“生成的动态页面中的方案工作?

错误。改用
|

<a href="file:///C|/somepath/mylocalfile.html">Title of local file</a>

问题与django无关,只与浏览器(在我的例子中是Firefox4)有关。出于安全原因,Firefox不允许从远程站点链接到本地文件。我必须禁用
http://localhost:8000
,它成功了。由于更改只影响localhost,因此不应该是安全问题。此链接解释了如何执行此操作:

基本上,您只需在firefox配置文件文件夹中创建一个
user.js
文件,其中包含以下内容:

user_pref("capability.policy.policynames", "localfilelinks");
user_pref("capability.policy.localfilelinks.sites", "http://localhost:8000");
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
如果使用noscript,还必须更改一些配置:noscript选项(“高级->受信任->允许本地链接”)


其他浏览器可能会进行此安全检查,因此您必须根据您使用的操作系统和浏览器进行不同的更改。

否,此格式在django创建的生成页面中也不起作用;只有在浏览器中保存并加载此格式(如前所述),而不是在firefox中(它更改了%7C的|)在url.dit中,它在django应用程序中是否适用?