如何在Django中打开.txt文件?

2024-10-01 13:27:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Django应用程序,当我点击链接时,我可以下载一个.txt文件。现在我不需要下载那个文件,而是打开那个文件(在“r”模式下)。我尝试着做一些类似于邮件附件的事情,当我们点击附件时,它就会打开而不是下载。我该怎么做?以下代码用于下载.txt文件:

def fetch_logfile(request,logfile):
    try:
        folder,log,_ = logfile.split("/")
        pathRelative = r"/LogFile/"+log
        folder,log,_ = logfile.split("/")
        pathRelative = r"/LogFile/"+log
        path = pathRelative[1::]
        os.startfile(pathRelative,open)
        file_path =os.getcwd()+ '/' +pathRelative
        file_wrapper = FileWrapper(file(file_path,'rb'))
        file_mimetype = mimetypes.guess_type(file_path)
        response = HttpResponse(file_wrapper, content_type=file_mimetype )
        response['X-Sendfile'] = file_path
        response['Content-Length'] = os.stat(file_path).st_size
        nameOnly = log.split('/')
        response['Content-Disposition'] = 'attachment; filename=%s' % nameOnly[len(nameOnly)-1]
        return response
    except:
       ## do something else

下面的代码可以使用我在pythonidle中尝试过的代码,但是当我在Django中尝试相同的代码时,它就不起作用了。我不确定这是不是正确的方法随便一个。拜托在这方面给我建议。在

^{pr2}$

Tags: 文件pathdjango代码txtlogosresponse