Python Google应用程序引擎:在一个函数中传递超过255个参数

Python Google应用程序引擎:在一个函数中传递超过255个参数,python,google-app-engine,Python,Google App Engine,我正在开发一个web应用程序,使用googleappengine和Python作为后端语言。另外,我正在使用Jinja2模板引擎来呈现HTML页面 现在,当使用render()函数将数据传递到网页时,我们需要传递到render()函数中的参数数远远超过了255个参数。这似乎是render()函数一次可以接受的最大参数数 下面是处理程序的代码,我使用render()函数传入了255个以上的参数(目前只有241个,其他参数暂时被注释掉): 是否有一种方法可以将255个以上的参数传入render()函

我正在开发一个web应用程序,使用googleappengine和Python作为后端语言。另外,我正在使用Jinja2模板引擎来呈现HTML页面

现在,当使用render()函数将数据传递到网页时,我们需要传递到render()函数中的参数数远远超过了255个参数。这似乎是render()函数一次可以接受的最大参数数

下面是处理程序的代码,我使用render()函数传入了255个以上的参数(目前只有241个,其他参数暂时被注释掉):

是否有一种方法可以将255个以上的参数传入render()函数?我们的应用程序几乎需要这些参数中的每一个参数才能按预期工作。解决这个问题的任何替代方案都可以

编辑:

我忘了包含render()函数。它不是一个预定义的函数

class Handler(webapp2.RequestHandler):
    def write(self, *a, **kw):
        self.response.out.write(*a, **kw)
    def render_str(self, template, **params):
        t = jinja_env.get_template(template)
        return t.render(params)
    def render(self, template, **kw):
        self.write(self.render_str(template, **kw))
Python本身向函数传递的位置参数不能超过255个。但是关键字扩展参数不存在这个限制

self.render("fourthyear.html", **{'gadq111': gadq111, 'gadq112': gadq112, ...})

我假设
render()
是一个预定义的函数,您不能更改吗?否则我建议传递一个或三个对象。@TheSoundDefense我忘了包含渲染函数!我已经编辑了我的原始帖子,其中包含了定义函数的类。你可能想看看这个问题的答案,特别是Martijn的答案:你可以做一些技巧来绕过这个限制。例如,你可以给它发一台发电机。你想解决什么问题?“我想我需要传递超过255个参数,这样我才能…”问题是什么?我认为如果一个函数需要超过255个参数,那么应用程序的设计就有很大的问题。
self.render("fourthyear.html", **{'gadq111': gadq111, 'gadq112': gadq112, ...})