如何组织应用程序引擎应用程序

时间:2010-01-24 04:27:43

标签: python google-app-engine

我想创建一个如下所示的目录结构。我如何获得account.py和game.py来处理转发到\ account \和\ game \的请求。我见过的所有app-engine示例都在main.py上有处理所有url的所有逻辑。

app\account\
           \account.py
   \game\
        \ game.py
   \static\css
          \js
          \images
   \app.yaml
   \main.py

我在app.yaml中尝试了以下内容,但它无效

application: mefirst
version: 1
runtime: python
api_version: 1

handlers:

- url: /static
  static_dir: static

- url: /account
  script: account.py

- url: .*
  script: main.py

2 个答案:

答案 0 :(得分:11)

您需要app.yaml中的以下内容:

- url: /account
  script: account/account.py

- url: /game
  script: game/game.py

- url: .*
  script: main.py
顺便说一下,我建议你试着忘记反斜杠(这样的字符:\) - 想想普通的斜杠(这样的字符:/)。反斜杠是一种Windows异常(即使在那里也几乎不需要 - Python会很乐意接受普通斜杠代替文件路径中的反斜杠),不能用作URL中的路径分隔符,也不能用作Unix-y操作系统(包括Linux和MacOSX)。我之所以提到这一点是因为你说的是​​“请求转到\ account \和\ game \ respectfully”并且没有这样的东西 - 没有请求进入带反斜杠的路径,它总是转发斜杠。

答案 1 :(得分:2)

看看MVCEngine,这是一个AppEngine框架,它为构建应用程序提供类似Ruby on Rails的结构。对于你想要做的事情,它可能会或可能不会有些过分,但是如果你看看主项目文件MVCEngine.py,你应该能够看到它提供的项目目录结构有点像你想。这不是太难。