这涉及在中使用一条“网关”路线app.yaml
,然后在RequestHandler
中选择WSGIApplication
。
- url: /.*
script: main.py
from google.appengine.ext import webapp
class Page1(webapp.RequestHandler):
def get(self):
self.response.out.write("Page 1")
class Page2(webapp.RequestHandler):
def get(self):
self.response.out.write("Page 2")
application = webapp.WSGIApplication([
('/page1/', Page1),
('/page2/', Page2),
], debug=True)
def main():
wsgiref.handlers.CGIHandler().run(application)
if __name__ == '__main__':
main()
这涉及在中定义两个路由app.yaml
,然后为每个定义两个脚本(page1.py
和page2.py
)。
- url: /page1/
script: page1.py
- url: /page2/
script: page2.py
from google.appengine.ext import webapp
class Page1(webapp.RequestHandler):
def get(self):
self.response.out.write("Page 1")
application = webapp.WSGIApplication([
('/page1/', Page1),
], debug=True)
def main():
wsgiref.handlers.CGIHandler().run(application)
if __name__ == '__main__':
main()
from google.appengine.ext import webapp
class Page2(webapp.RequestHandler):
def get(self):
self.response.out.write("Page 2")
application = webapp.WSGIApplication([
('/page2/', Page2),
], debug=True)
def main():
wsgiref.handlers.CGIHandler().run(application)
if __name__ == '__main__':
main()
每种模式的优点和缺点是什么?一个比另一个快吗?
唯一的性能影响与模块的加载有关:模块在首次使用时就加载到实例上,并且拆分成块需要较少的模块加载量才能在新实例上提供页面。
但是,这非常少,因为您可以轻松地使处理程序脚本按需动态加载所需的模块-而这正是许多常见框架所做的。
通常,app.yaml路由设计用于在不同的组件或应用程序之间进行路由。例如,remote_api和deferred都有自己的处理程序。因此,为您的应用程序定义一个可以处理其他所有内容的处理程序是完全合理的。
我有一个问题,通过使用比较地图列表中的每个项目的值找到键值相对于Java。 如果多个键值具有相同的值,我希望获得最高的字符值。如果所有的键值都不同,我想得到一个值最高的键值。 下面是我的截图。 我在比较部分遇到了一个我无法处理的问题。 我如何解决我的问题? 下面是我的代码片段。
我在React中有一个表,它的行没有html元素,所以我可以用通常的方式进行映射。它的数据通过道具。下面是一个例子: 我想做一些像
问题内容: 我有一条路线映射为: 如何在运行时删除/重新映射此路由到空处理程序? 问题答案: 这将删除中间件和/或(获取/发布)路由。在express@4.9.5上测试 请注意,它 要求 中间件/路由功能具有 名称 : 如果该函数是匿名的, 它将不起作用 :
问题内容: 我正在尝试创建一个可以接受以下功能的函数 这里的struct可以是任何结构,而不仅仅是特定的结构。将接口转换为或工作正常。但是给地图错误。 反映后显示为map [],但尝试在范围内进行迭代时给出错误。 这是代码 有什么方法可以转换为map并进行迭代或获取其元素。 问题答案: 如果地图值可以是任何类型,则使用反射来遍历地图: 游乐场的例子 如果存在少量已知的结构类型,则可以使用类型开关:
问题内容: 有谁知道是否有可能获得用于触发路线的路径? 例如,假设我有这个: 使用以下简单的中间件 我希望能够使用中间件,但不是。 问题答案: 你想要的是。 例如: http://expressjs.com/api.html#req.route 编辑: 正如评论中所解释的,进入中间件是困难/ hacky。路由器中间件是填充对象的中间件,它可能处于比您正在开发的中间件更低的级别。 这样,只有在您插入
问题内容: 是否可以在两个不同的post方法的请求映射中使用相同的url,仅请求正文有所不同。 问题答案: 不,您不能在具有不同请求主体类型但介质类型相同的post方法的请求映射中提供相同的url。以下将不起作用: 如果您使用不同的媒体类型,那么它将。下面将工作: 您在至少一项条件上应有所不同;