将ViewerJS与Django一起使用

时间:2015-07-01 15:30:39

标签: python django pdf django-staticfiles pdf.js

我正在尝试在Django 1.8.2应用程序中使用ViewerJS。但是,我使用的链接不会呈现PDF。我有static/js/下的ViewerJS文件夹和static/pdf/docs/下的PDF。这是我正在使用的链接:

<a href="/static/js/ViewerJS/#/static/pdf/docs/agreement.pdf" class="btn">Preview</a>

我收到的错误是404. Django传回了一条错误消息“此处不允许使用目录索引。”

Request Method: GET
Request URL:    http://localhost:8000/static/js/ViewerJS/
Raised by:  django.contrib.staticfiles.views.serve

如果我在浏览器中转到localhost:8000/static/pdf/docs/agreement.pdf,那么PDF下载就好了。如果我转到localhost:8000/static/js/ViewerJS/pdf.js那么pdf.js文件下载就好了。所以我不确定它为什么不起作用。

2 个答案:

答案 0 :(得分:2)

Django的静态服务器仅用于开发,并且是故意限制的。正如错误所说,它不处理目录索引。

您可以通过将链接直接转到/static/js/ViewerJS/index.html来完成此工作。

答案 1 :(得分:0)

我有同样的问题。我正在尝试访问位于Django的static / gutenberg / docs / files / something.pdf中的文件

我创建的网址是

http://localhost:8000/static/gutenberg/js/ViewerJS/index.html/#/static/gutenberg/docs/files/something.pdf”。

尽管将index.html添加到完整版本,但它不起作用。我不知道为什么。

路径是正确的,因为我可以在浏览器上运行“/static/gutenberg/docs/files/something.pdf”时下载文件。