如何在Django中将这种特殊的呈现内容作为HTML中的可下载文本文件制作?

时间:2018-08-08 11:16:32

标签: html django function

CTE

这是我的html代码,在执行时可以完美呈现,但是我尝试编写一个函数来将呈现的内容下载为文本文件。并且它正在将html代码下载为文本文件,而不是实际呈现的内容。请帮我解决这个问题。预先感谢。

1 个答案:

答案 0 :(得分:0)

您可以首先声明以下Javascript函数:

function download(filename, text) {
    var element = document.createElement('a');
    element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
    element.setAttribute('download', filename);

    element.style.display = 'none';
    document.body.appendChild(element);

    element.click();

    document.body.removeChild(element);
}

然后,您将需要一个函数来调用下载功能。此函数应具有您的文本和文件名:

function beginDownload(){

    // Generate download of the text file with some content
    var text = document.getElementById('text-content').innerHTML;
    var filename = "text.txt";
    download(filename, text);
}

在您的div中添加以下ID:

<div class="container" id='text-content'>
    . . . 
</div>

下一步添加一个按钮,将开始下载:

<button type="button" onclick="beginDownload()">Download</button>

编辑: 替换以下内容:

var text = document.getElementById('text-content').innerHTML;

具有:

var text = document.getElementById('text-content').innerText;

仅获取文本