名称错误:未定义全局名称“q”

2024-09-29 23:19:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以在谷歌应用引擎下面的链接运行Hello World程序 https://cloud.google.com/appengine/docs/python/

但是在我修改了主.py文件(尝试新的处理程序)我得到下面的错误。在

Traceback (most recent call last):
  File "/home/natesan/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 1535, in __call__
    rv = self.handle_exception(request, response, e)
  File "/home/natesan/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 1529, in __call__
    rv = self.router.dispatch(request, response)
  File "/home/natesan/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 1278, in default_dispatcher
    return route.handler_adapter(request, response)
  File "/home/natesan/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 1102, in __call__
    return handler.dispatch()
  File "/home/natesan/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 572, in dispatch
    return self.handle_exception(e, self.app.debug)
  File "/home/natesan/google_appengine/lib/webapp2-2.5.2/webapp2.py", line 570, in dispatch
    return method(*args, **kwargs)
  File "/home/natesan/webapps/udacity1/main.py", line 29, in get
    self.request.get(q)
NameError: global name 'q' is not defined

在主.py文件如下。在

^{pr2}$

谁能帮我找出错误在哪里吗。在


Tags: inpyselfhomereturnrequestlibgoogle
1条回答
网友
1楼 · 发布于 2024-09-29 23:19:58

您需要q用引号这样写:"q"。在

如果没有引号,q将被视为一个变量,并且由于您没有声明,因此会引发错误。在

我修改了TestHandler类,如下所示。在

class TestHandler(webapp2.RequestHandler):
    def get(self):
        q=self.request.get("q")
        self.response.write(q)

为变量q=self.request.get("q")赋值,并用self.response.write(q)在浏览器中显示它

相关问题 更多 >

    热门问题