首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将下载按钮的值放入我的django视图?

如何将下载按钮的值放入我的django视图?
EN

Stack Overflow用户
提问于 2019-01-28 07:21:03
回答 1查看 203关注 0票数 0

我的HTML语言中有一个download按钮,它有一个指向系统上相应文件路径的href。当用户单击“下载”时,如何将路径加载到视图中?此外,该值对于每个下载按钮都是唯一的。

如果有任何其他方法,我可以做到这一点,而不暴露我的系统路径在href中,我更希望知道。提前谢谢。

现在我有一些看起来像这样的HTML。如何在单击时将信息从item.OutputPath抓取到我的视图中?

代码语言:javascript
复制
 <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为受保护的文件提供服务。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-28 17:25:17

暴露系统路径本身并不是一个好主意,但是使用它作为输入参数将会带来巨大的安全风险。

最好将项目的id传递给您的下载视图。如下所示:

代码语言:javascript
复制
# 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
    ...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54393837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档