gpt4 book ai didi

python - 为什么我会收到 TypeError : get() takes exactly 2 arguments (1 given)? Google App Engine

转载 作者:太空狗 更新时间:2023-10-29 22:20:28 24 4
gpt4 key购买 nike

我已经尝试了好几个小时了,一定有一个简单的方法来检索 url。我以为是这样:

#from data.models import Program

import basehandler

class ProgramViewHandler(basehandler.BaseHandler):
def get(self,slug):
# query = Program.all()
# query.filter('slug =', fslug)
self.render_template('../presentation/program.html',{})

每当执行此代码时,我都会在堆栈跟踪中收到此错误:

appengine\ext\webapp__init__.py”,第 511 行,在调用 handler.get(*组)TypeError: get() 正好接受 2 个参数(给定 1 个)

我也做过一些调试,但是这种调试超出了我的调试水平。当我从 def get(self,slug) 中删除 slug 时,一切运行正常。

这是基本处理程序:

import os

from google.appengine.ext import webapp
from google.appengine.ext.webapp import template



class BaseHandler(webapp.RequestHandler):
def __init__(self,**kw):
webapp.RequestHandler.__init__(BaseHandler, **kw)

def render_template(self, template_file, data=None, **kw):
path = os.path.join(os.path.dirname(__file__), template_file)
self.response.out.write(template.render(path, data))

如果有人能给我指出正确的方向,那就太好了!谢谢!第一次用stackoverflow发题,一般都是为了解决自己遇到的问题才看的。

最佳答案

您收到此错误是因为调用 ProgramViewHandler.get() 时没有使用 slug 参数。

很可能,您需要修复 main.py 文件中的 URL 映射。您的 URL 映射可能看起来像这样:

application = webapp.WSGIApplication([(r'/(.*)', ProgramViewHandler)])

括号表示正则表达式分组。这些匹配的组作为参数传递给您的处理程序。因此在上面的示例中,URL 中首字母“/”之后的所有内容都将传递给 ProgramViewHandler.get()slug 参数。

在 webapp 中了解有关 URL 映射的更多信息 here .

关于python - 为什么我会收到 TypeError : get() takes exactly 2 arguments (1 given)? Google App Engine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3119562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com