ダウンロード可能なコンテンツを作成しようとして困っています。私は使用webapp2.RequestHandler
していますが、次のシナリオがあります。
- Jinja 2 を使用して、「これを csv としてダウンロード」リンクを含むページを作成しています。
- リンクをクリックすると、ファイルが正しくダウンロードされ、正しいコンテンツで開始され、最後にテンプレート コンテンツが追加されます。
これが私のクラスです:
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)
2 番目のケースは正常に機能しますが (SamplePage=2
パラメーターが指定されている場合)、ファイルには「abracadabra」という単語だけが含まれています。ただし、最初のケースでは、ダウンロードされたファイルは次のようになります。
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>
最初の行は私が期待するものです。しかし、それだけのはずです。残りはテンプレートです。これが追加される理由は何ですか? 前もって感謝します!