我想创建一个如下所示的目录结构。我如何获得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
答案 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,你应该能够看到它提供的项目目录结构有点像你想。这不是太难。