附加到的不需要的模板代码响应.out.wri

2024-03-28 10:03:07 发布

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

我一直在尝试创建一个可下载的内容。我正在使用webapp2.RequestHandler,我有以下场景:

  1. 我正在使用jinja2创建一个带有“下载为csv”链接的页面。你知道吗
  2. 单击链接时,文件将正确下载,从正确的内容开始,最后添加了模板内容。你知道吗

这是我的课:

class xmlAnalyzer(Handler):
    def get(self):
        displaySample = self.request.get('SamplePage')
        downloadMapping = self.request.get('downloadMapping')

        if downloadMapping:
            r = self.request.get('srcTgtMapping')
            srcTgtMapping = r.split('], [')

            csvContents = 'Column name; Source name; Source type; Column name; Target name; Target type;\n'
            self.response.headers['Content-Disposition'] = 'attachment; filename=' + str(downloadMapping) +'.csv'
            self.response.out.write(csvContents)

        elif displaySample == '2':
            testString = 'abracadabra'
            self.response.headers['Content-Disposition'] = 'attachment; filename=' + 'testFile.csv'
            self.response.write(testString)

现在,虽然第二种情况可以正常工作(如果提供了SamplePage=2参数),但文件只包含单词“abracadabra”。但是,在第一种情况下,dowloaded文件如下所示:

Column name; Source name; Source type; Column name; Target name; Target type;
<!DOCTYPE html>

<link rel="stylesheet" type="text/css" href="/stylesheets/styles.css">
<Content-Type: text/html; charset=utf-8>
<html>
<body class="body">

<div class="main-title">Welcome to XML Analyzer for Informatica PowerCenter</div>

第一行是我所期望的。但这应该是全部。剩下的是模板-你知道为什么要添加这个吗?提前谢谢!你知道吗


Tags: 文件csvnameselfsource内容targetget
1条回答
网友
1楼 · 发布于 2024-03-28 10:03:07

很难说,但凭直觉,根据你给我们看的代码,我猜是。。。你知道吗

  • 与第一个self.response.out.clear()块中的if有关,第二个块没有它
  • 或者使用webapp2框架的自动模板呈现;但是这并不能解释为什么这两种情况的行为不同,所以这就是我注意到self.response.out.clear()调用的原因。你知道吗

另外,您确定已经向我们展示了所有相关的代码吗?你知道吗

相关问题 更多 >