python - 重定向到下载 Django

标签 python html django

我想跟踪文件被下载的次数。我是这样看的:

1) 而不是<a href="{{ file.url }}" download>...</a> ,我应该将用户重定向到 download看法; <a href="download/{{ file.id }}/{{ file.name }}">...</a>

file.id and file.name needed for proper work of function bellow.

2) 在我的 download 中查看我需要注册特定文件的下载,假设我有 registrate_dl完成其工作的函数。另外,我需要接受{{ file.url }}值如第一段的第一个链接中所示。

3)最后,我注册了特定文件的下载并得到了 {{ file.url }}file_url多变的。

但是,如果,在 view 的末尾我放置的功能return redirect(file_url) ,它只是将我重定向到文件,而不开始下载。

<小时/> 那么,我应该如何返回这个file_url ,并触发下载?

最佳答案

您可以将文件作为响应的一部分返回。如何操作取决于确切的文件类型,但这里是我在另一个答案中使用的 CSV 示例。

def csv_view(request):
    filename =  "Your filename"
    response = HttpResponse(content_type='text/csv')
    response['Content-Disposition'] = 'attachment; filename="{}.csv"',format(filename)
    writer = csv.writer(response)
    writer.writerow("Some stuff") 
    messages.success(request, 'Consultation added to report successfully!')
    messages.warning(request, 'Note: Certain needs may not appear in report, \
                                         this is a result of filtering process.')

    return response

关于python - 重定向到下载 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58190415/

相关文章:

python - 如何在 Django 中查询泛型关系

Django 全文搜索按相关性顺序

python 子进程 Popen 在本地和远程系统上的行为不同

python - Django-Filter:在搜索时动态创建查询集或在搜索之前隐藏查询集

HTML 下拉框搞砸了文本

javascript - 如何更新输入类型=范围的值

javascript - jsp中隐藏动态div

python - Keras 值错误 : I/O operation on closed file

python - 从给定列表中出现的键中提取子字典

python - 从按钮将数据输入到 Entry 小部件