Python MacOS和Windows 10之间的换行问题

Python MacOS和Windows 10之间的换行问题,python,django,windows,Python,Django,Windows,我试图直接从视图返回文件下载,这在Mac OS上运行良好,除非我从Windows OS(从浏览器)运行此操作,该文件没有3行,只有1行。。有没有解决这个问题的方法,我读了很多关于跨操作系统问题的文章,但似乎没有一篇文章涉及到这个方法 模板(伪代码,注意3行,在windows上这是作为一行下载的) 查看 def view(self, request, **kwargs): file_name = 'test.txt' template = render_to_string('te

我试图直接从视图返回文件下载,这在Mac OS上运行良好,除非我从Windows OS(从浏览器)运行此操作,该文件没有3行,只有1行。。有没有解决这个问题的方法,我读了很多关于跨操作系统问题的文章,但似乎没有一篇文章涉及到这个方法

模板(伪代码,注意3行,在windows上这是作为一行下载的)

查看

def view(self, request, **kwargs):
    file_name = 'test.txt'

    template = render_to_string('templates/test.txt', {  # <= template
        "foo": "hello",
        "bar": "world"
    })

    resp = HttpResponse(template, content_type='application/force-download')
    resp['Content-Disposition'] = 'attachment; filename=%s' % smart_str(file_name)

    return resp
def视图(self、request、**kwargs):
文件名='test.txt'

template=render_to_string('templates/test.txt',{#也许这可以帮助您使用Windows换行符是CR LF。OSX换行符是LF。您可以尝试编辑模板以获得Windows换行符。@LawrenceBenson谢谢,我正在试图找到一个仅使用python的解决方案,我不想使用sed或任何命令行进程,最好不要使用open()因为我将不得不创建一个文件..我很高兴只支持Windows,但服务器将是linux@ArturGaspar,谢谢似乎可行,现在我只需要找出答案how@BeaTrixLawrence Benson链接的问题显示了如何运行。您只需要在模板文件上运行一次。也许这可以帮助您了解Windows换行符是CR LF。OSX换行符是如果是。您可以尝试编辑模板以使用Windows换行。@LawrenceBenson谢谢,我正在尝试寻找一个只使用python的解决方案,我不想使用sed或任何命令行进程,最好不要使用open()因为我将不得不创建一个文件..我很高兴只支持Windows,但服务器将是linux@ArturGaspar,谢谢似乎可行,现在我只需要找出答案how@BeaTrixLawrence Benson链接的问题展示了如何操作。您只需在模板文件上运行一次。
def view(self, request, **kwargs):
    file_name = 'test.txt'

    template = render_to_string('templates/test.txt', {  # <= template
        "foo": "hello",
        "bar": "world"
    })

    resp = HttpResponse(template, content_type='application/force-download')
    resp['Content-Disposition'] = 'attachment; filename=%s' % smart_str(file_name)

    return resp