2013-10-01 1 views
0

Я застрял в попытке создать загружаемый контент. Я использую webapp2.RequestHandler и я получил следующий сценарий:Нежелательный код шаблона, прикрепленный к response.out.write

  1. Я использую дзиндзя 2, чтобы создать страницу с «скачать это как 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 параметр предусмотрен) файл содержит только слово «Абракадабра». В первом случае, однако, загруженный файл выглядит следующим образом:

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> 

Первая строка - это то, что я ожидаю. Но это все. Остальное - шаблон - любая идея, почему это добавляется? Заранее спасибо!

ответ

0

Трудно сказать, но интуитивно, решая с помощью кода вы показали нам, я бы предположил, что это либо ...

  • надо делать с self.response.out.clear() в первом if блок-второй Безразлично» это есть;
  • или с автоматическим преобразованием шаблона с помощью webapp2 framework; но это не объясняет, почему 2 случая ведут себя по-разному, так что это то, что заставило меня заметить, что звонок self.response.out.clear().

P.S. Кстати, вы уверены, что вы показали нам все соответствующие фрагменты вашего кода?

+0

Спасибо за внимание. Я удалил вводящую в заблуждение строку self.response.out.clear(). Это была одна из многих попыток исправить нежелательное поведение. – Maciejg

+0

Спасибо, что посмотрели на него. Я удалил вводящую в заблуждение строку self.response.out.clear(). Это была одна из многих попыток исправить нежелательное поведение. Это, конечно, не весь код, но часть, я считаю, имеет значение. Вы можете проверить это в прямом эфире здесь http://maciejg-app2.appspot.com/xmlAnalyzer?SamplePage=1 Загрузка ссылок CSV в настоящее время не работает - мне нужно выяснить, почему :) http: // maciejg-app2 .appspot.com/xmlAnalyzer? SamplePage = 2 будет работать. – Maciejg

 Смежные вопросы

  • Нет связанных вопросов^_^