我正在尝试动态生成 iCal使用 Max M 的 icalendar 输出python模块和谷歌的应用引擎。但是,当我省略样板时 <html> webapp.RequestHandler 的输出上的页眉和页脚标记,看起来 HTTP 200 响应已添加到文件顶部。
当我注册这个代码时:
class Calendar(webapp.RequestHandler):
def get(self):
self.response.out.write('BEGIN:VCALENDAR\n')
[...]
与 webapp.WSGIApplication ,响应看起来像:
Status: 200 OK
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Content-Length: 11133
BEGIN:VCALENDAR
[...]
如何省略 <html>标记 和 没有在页面顶部显示 HTTP 200 响应?
请您参考如下方法:
Webapp 和 App Engine 不关心您返回的内容类型,因此该问题与标签(或缺少标签)无关。您的代码中可能有一个 print 语句,这导致 header 作为响应正文的一部分发送。你永远不应该在 WSGI 应用程序中使用 print - 总是像你粘贴的代码片段中那样使用 self.response.out.write。
