【发布时间】:2017-08-24 02:07:06
【问题描述】:
我正在尝试使用 Django 1.10 (Python 3.5) 视图/模板将数据导出到纯文本文件。此文本文件必须与操作系统无关,因为 Windows 用户应该可以毫无问题地查看该文件。不幸的是,当 Django 呈现我的文件中包含 \r\n (Windows 友好)换行符的模板时,换行符神奇地转换为 \n (Mac/Linux 友好)换行符。什么给了?
这是我尝试呈现纯文本文件的方式:
from django.template import loader, Context
def myview(request):
my_data = get_my_data()
response = HttpResponse(content_type='text/plain')
response['Content-Disposition'] = 'attachment; filename="export.txt"'
template = loader.get_template('export.txt') # <- this file has \r\n line breaks
context = Context({'data': my_data})
response.write(template.render(context))
return response
在 Windows 中使用 Chrome 或 Edge 下载导出的文件并在记事本中打开时,不考虑换行符,在 Notepad++ 中查看文件(并显示 EOL 字符)时,只有 \n 字符!任何帮助将不胜感激:)
【问题讨论】: