2010-05-16 108 views
5

我有一個映射到此類的請求ChatMsg 它需要3個獲取變量,用戶名,房間名稱和消息。但是它在這裏的最後一行失敗了。Google App Engine python - 自我未定義

class ChatMsg(webapp.RequestHandler): # this is line 239 
    def get(self): 
     username = urllib.unquote(self.request.get('username')) 
     roomname = urllib.unquote(self.request.get('roomname')) # this is line 242 

當它試圖分配ROOMNAME,它告訴我:

<type 'exceptions.NameError'>: name 'self' is not defined 
Traceback (most recent call last): 
    File "/base/data/home/apps/chatboxes/1.341998073649951735/chatroom.py", line 239, in <module> 
    class ChatMsg(webapp.RequestHandler): 
    File "/base/data/home/apps/chatboxes/1.341998073649951735/chatroom.py", line 242, in ChatMsg 
    roomname = urllib.unquote(self.request.get('roomname')) 

這到底是怎麼回事,使自己沒有定義

+1

該代碼看起來對我來說一目瞭然,你確定這不是服務器的同步問題嗎?根據文件路徑判斷,您沒有在本地運行該文件。 – 2010-05-16 20:49:01

+0

除非有一些元類魔法,否則代碼看起來不錯。什麼是「類型(ChatMsg)」? – jfs 2010-05-16 21:50:48

+2

三重檢查您的縮進。縮進差異在Python中非常重要。確保你沒有混合的標籤和空格。 – 2010-05-16 22:51:28

回答

3

這應該是一個壓痕問題。回溯顯示該錯誤不在get()方法中。在定義類時,會出現NameError異常。 試着執行下面的代碼,你會得到和你一樣的異常。

class ChatMsg(object): # this is line 239 
    def get(self): 
     username = urllib.unquote(self.request.get('username')) 
    roomname = urllib.unquote(self.request.get('roomname')) # this is line 242