根据Google App Engine doc,脚本处理程序可以调用三种类型的Python脚本来处理URL模式的请求匹配。
脚本:指令可以包含以.py结尾的文件路径 (意思是脚本使用CGI)或Python模块路径 包名称以点分隔(表示脚本使用WSGI)。 脚本的最后一个组件:使用Python模块路径的指令 是模块中全局变量的名称:该变量必须是 一个WSGI应用程序,通常按惯例称为app。
这三种类型及其用例有什么区别?
答案 0 :(得分:1)
实际上,没有.app
脚本文件。这不是有效的扩展名。相反,它是脚本中的变量。
您可能会在app.yaml
文件中看到类似这样的内容:
handlers:
- url: /.*
script: application.app
在这种情况下,' .app' part是application.py中的一个变量,你可以在application.py
里面看到一段这样的代码:
app = webapp2.WSGIApplication([
('/', MainPageHandler)
], debug=True)
答案 1 :(得分:0)
script:
指令可以包含以.py
结尾的文件路径(表示脚本使用CGI)或 Python模块路径,包名称以点分隔(表示脚本使用WSGI)。使用 Python模块路径的script:
指令的最后一个组件是模块中全局变量的名称:该变量必须是WSGI应用程序,通常称为{{1}按惯例。注意:就像Python
app
语句一样,作为包的每个子目录都必须包含一个名为import
的文件。
实际上只有两种引用Python脚本的方法。首先是文件路径,例如__init__.py
。其次, Python模块路径,例如/home/tsr/myscript.py
。
有关详细信息,请参阅Python's documentation on packages。
答案 2 :(得分:0)
.app是WSGI的使用 - 典型/最常见的。
.py是CGI的用途 - 很少见,显然有问题,请参阅Does Google App Engine actually implement "normal" CGI?