2010-05-16 13 views
5

Ho una richiesta che associa a questa classe ChatMsg Prende in 3 get variabili, nome utente, nome della camera e msg. Ma fallisce su quest'ultima riga qui.Python per Google App Engine - Self non definito

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 

Quando si tenta di assegnare roomname, che mi dice:

<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')) 

cosa diavolo sta succedendo a fare auto non definiti

+1

Il codice mi sembra a prima vista, sei sicuro che non si tratti di un problema di sincronizzazione con il server o qualcosa del genere? A giudicare dal percorso del file non lo si sta eseguendo localmente. –

+0

A meno che non ci sia qualche magia di metaclassi, il codice sembra ok così com'è. Che cos'è 'type (ChatMsg)'? – jfs

+2

Triple-check your indentation. Le differenze di indentazione sono molto significative in Python. Assicurati di non avere schede e spazi misti. –

risposta

3

Questo dovrebbe essere un problema di rientro. Il traceback mostra che l'errore non è nel metodo get(). Ottieni l'eccezione NameError al momento della definizione della tua classe. Prova ad eseguire il seguente codice, otterrai la stessa eccezione che hai.

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