可以从django开发服务器下载文件

时间:2016-11-02 23:24:45

标签: python html django

我正在开发一个简单的网站,用户可以通过表单输入一些数据,并使用数据完成一些工作,这将在服务器的文件夹中生成一些图像和文本文件。现在,在提交表单期间,将向用户提供作业ID,并且所得到的文件夹路径将使用相同的ID进行注释。在搜索框中,用户可以按ID下载他们的结果。

问题是,如何将这些结果文件提供给用户下载? 我在html中使用了以下代码来制作下载链接:

{% extends "personal/header.html" %}
{% block content %}
<h4>Here is the result for you</h4>
<h4>Last name: {{ resultRow.last_name }}</h4>

<hr>
<h4>path: {{ complementRow.path_for_folder }}</h4>
<a href='C:\Users\path\to\heatmap.png' download="img">Heatmap</a>

{% endblock %}

通过执行此操作,下载链接将显示在django开发服务器的页面中,但单击该链接不会下载该文件并显示&#34;失败:网络错误&#34;。

所以,问题是,是因为开发服务器的错误还是我做错了什么?如果我错了,请建议我正确的方法。 注意:我将使用&#34; complementRow.path_for_folder&#34;用于指定文件。这里我使用了变量的实例化。

我可以发布viwes.py文件或任何需要理解的内容

1 个答案:

答案 0 :(得分:1)

这是因为<a/>中的网址无效

<a href='C:\Users\path\to\heatmap.png' download="img">Heatmap</a>

在用户的浏览器中,此路径C:\Users\path\to\heatmap.png告诉浏览器从用户的本地硬盘中加载C:\Users\path\to的文件。这不是你想要的

您需要从服务器(您的开发服务器或其他托管服务)提供heatmap.png。然后相应地调整网址。

由于您想从django服务器提供静态文件,您可以查看以下文档:https://docs.djangoproject.com/en/1.10/howto/static-files/