Google App Engine python - Self未定义

5 投票
1 回答
786 浏览
提问于 2025-04-15 22:46

我有一个请求,它对应这个类 ChatMsg。这个请求需要三个获取的变量,分别是用户名(username)、房间名(roomname)和消息内容(msg)。但是在最后一行代码时出现了问题。

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

当它尝试给房间名赋值时,系统告诉我:

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

到底发生了什么,让 self 变成未定义的?

1 个回答

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

撰写回答