Google App Engine上的.py和.app脚本之间的区别

时间:2015-07-17 15:18:43

标签: python google-app-engine

根据Google App Engine doc,脚本处理程序可以调用三种类型的Python脚本来处理URL模式的请求匹配。

  

脚本:指令可以包含以.py结尾的文件路径   (意思是脚本使用CGI)或Python模块路径   包名称以点分隔(表示脚本使用WSGI)。   脚本的最后一个组件:使用Python模块路径的指令   是模块中全局变量的名称:该变量必须是   一个WSGI应用程序,通常按惯例称为app。

这三种类型及其用例有什么区别?

3 个答案:

答案 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?