0

我正在嘗試爲Google AppEngine(1.9.15)測試自定義會話。它使用response.set_cookie()。打印dir(response)未顯示功能存在。任何想法如何獲得具有此功能的response對象?GAE:'響應'對象沒有屬性'set_cookie'

from google.appengine.ext import webapp 
response = webapp.Response() 
pprint(dir(response)) 

google.appengine.ext.webapp._webapp25.Response object at 0x100e6d110> 
['_Response__HTTP_STATUS_MESSAGES', 
'_Response__status', 
'_Response__wsgi_headers', 
'__class__', 
'__delattr__', 
'__dict__', 
'__doc__', 
'__format__', 
'__getattribute__', 
'__hash__', 
'__init__', 
'__module__', 
'__new__', 
'__reduce__', 
'__reduce_ex__', 
'__repr__', 
'__setattr__', 
'__sizeof__', 
'__str__', 
'__subclasshook__', 
'__weakref__', 
'clear', 
'has_error', 
'headers', 
'http_status_message', 
'out', 
'set_status', 
'status', 
'status_message', 
'wsgi_write'] 

回答

0

根據the documentation響應由請求處理程序(在響應請求)所建,所以儘量打印內您的應用程序的處理程序之一:

請求處理程序實例使用其響應 屬性構建響應。這由 應用程序初始化爲空的WebOb Response對象。

響應對象作爲一個類文件對象,可用於 寫入響應的主體:

class MyHandler(webapp2.RequestHandler): 
    def get(self): 
     self.response.write("<html><body><p>Hi there!</p></body></html>") 
+0

我想周圍沒有任何處理程序來測試剛剛會話 - 繼續它很簡單。 :-)你知道在哪裏添加cookies功能嗎?我應該可以手動完成。 – kev

+0

要測試會話,您可以在其中存儲/檢索一些任意值。你正在嘗試的是在一個響應中設置cookie,如果沒有處理程序,你不能這麼做。 –

相關問題