Django:渲染带有换行符的txt文件

时间:2017-01-31 13:03:38

标签: python django

我需要在Django中将txt文件作为HTTPResponse返回。该文件需要包含从列表生成的多行(例如['第一行','第二行'])。 如果我使用DTL和模板,我不能插入任何换行符,除了特定于html的换行符。所以,我目前的解决方案是使用csv.writer写入响应行。它有效,但是没有更优雅的方法来获得看起来像这样的txt文件吗?

import matplotlib
matplotlib.use('Agg')

更新:我想,我的问题是我需要CR,LF换行符。

2 个答案:

答案 0 :(得分:1)

如果你有一个字符串列表,并希望将它作为一个字符串输出到响应中,最简单的方法是使用join

lines = ['line one', 'line two']
response_content = '\n'.join(lines)
return HttpResponse(response_content, content_type="text/plain")

在模板内部:

 {% for line in mylines %}
     {{ line }}
 {% endfor %}

这应该在输出中将每一行放在它自己的行上。

答案 1 :(得分:0)

你的断言完全是假的。 Django模板语言绝不仅限于HTML;它适用于任何格式,您可以非常乐意使用它来生成文本文件。