我的HTML语言中有一个download按钮,它有一个指向系统上相应文件路径的href。当用户单击“下载”时,如何将路径加载到视图中?此外,该值对于每个下载按钮都是唯一的。
如果有任何其他方法,我可以做到这一点,而不暴露我的系统路径在href中,我更希望知道。提前谢谢。

现在我有一些看起来像这样的HTML。如何在单击时将信息从item.OutputPath抓取到我的视图中?
<div class="dashboard-2">
<div class="tasks-finished">
<h1>Finished tasks</h1>
</div>
<div class="tasks-list">
<table>
<tr>
<th>Name</th>
<th>Task ID</th>
<th>Status</th>
</tr>
{% for item in query_finished %}
<tr>
<td>{{ item.TaskNavn }}</td>
<td>{{ item.TaskID }}</td>
<td><a href="{{ item.OutputPath }}">Download</a> </tr>
{% endfor %}
</table>
</div>
</div> 其他信息:
我需要这个值,因为我试图将它保存为一个变量,以便使用Nginx为受保护的文件提供服务。
发布于 2019-01-28 17:25:17
暴露系统路径本身并不是一个好主意,但是使用它作为输入参数将会带来巨大的安全风险。
最好将项目的id传递给您的下载视图。如下所示:
# template
<td><a href="{% url 'item-download' pk=item.pk %}">Download</a></tr>
# urls.py
path('download/<int:pk>/', views.download_item, name='item-download'),
# views.py
def download_item(request, pk):
# Make sure to perform any required checks, e.g. item.owner=request.user
item = get_object_or_404(Item, pk=pk)
output_path = item.OutputPath
...https://stackoverflow.com/questions/54393837
复制相似问题