Django HttpResponse - 在默认编辑器中打开文件对象

时间:2016-02-23 14:36:36

标签: django windows httpresponse

获取Django视图的以下代码片段

def serve_file(request)
    path = 'C:/path_to_file/test.html'
    file_name = os.path.basename(path)
    response = HttpResponse(path)
    response['Content-Disposition'] = 'attachment; filename={0}'.format(file_name)
    return response

该文件在响应中提供,浏览器询问我是否要打开,但是当它在默认编辑器中打开时,它会从“临时互联网文件”打开。如何从原来的位置打开C:/ path_to_file /'?

1 个答案:

答案 0 :(得分:2)

这里存在根本性的脱节。当Django为文件提供服务时,即使它在您自己的计算机上,浏览器也必须先下载它才能访问它。因此,打开的实际文件不在原始C:/...位置,而是在文件下载到的任何目录中。

如果您需要网站用户能够编辑服务器上存在的文件,那么这将需要更多的工作。下载文件会在用户的计算机上创建它的副本。