在Django中下载文件时如何在网页中显示内容

时间:2019-10-12 22:16:17

标签: django

我对Django非常陌生,我开始为它着迷。我有一个用例,当用户转到Django网站的主页时,我希望用户下载文件,但同时我也想显示一些文本。

下面是我的视图的定义:

from django.http import HttpResponse


def home(request):
    my_data = "<h1>This will be an attachement to download!</h1>"
    response = HttpResponse()
    response.content = my_data
    response['Content-Disposition'] = 'attachment; filename="<some-file>"'
    return response

问题是文件正在下载,但我看不到任何内容打印到屏幕上。我的意思是我需要此消息(

这将是下载附件!

)也要出现在屏幕上。我确定我在犯一些简单的错误,但我无法弄清楚它是什么。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

您不应该对后端执行此操作,而应添加触发confirm的事件侦听器:

$('#download_button_id').on('click', function(e) {
  if (!confirm('This will be an attachment to download!')) {
    e.preventDefault();
  };
});

现在,当用户尝试按下载按钮时,会弹出一个对话框,显示带有确认/取消按钮的消息,如果按了取消,则会触发e.preventDefault()