GoogleAppEngineのapp.yaml設定でサブディレクトリにappを置く(python1日目の備忘録)

GAE/py webapp2 

main.pyにすべて処理させるのではなく、サブディレクトリのアクセスはサブディレクトリに配置したpy(app)に処理させたい

 

まずつまづいたのはディレクトリを区切る時に/スラッシュではなくて.ドットで区切る

rootディレクトリ以下の処理

main.py

console以下のアクセス処理

console/main.py

console/sub/以下のアクセス処理

console/sub.py

というファイルがあった時

- url: /console/sub/.*
script: console.sub.app 
login: admin
secure: always

 

- url: /console/.*
script: console.main.app
login: admin
secure: always

 

- url: .*

script: main.app

以上のようになる。がしかしこれだけでは動かず!

console/直下に__init__.pyという空のファイルを置く必要があるみたい

 

console/sub.py

app = webapp2.WSGIApplication([
('/console/sub/list', List),
('/console/sub/item/add', ItemAdd)
], debug=True)

のようにしてルーティングする

 

以下のようになる

main.py 

console/__init__.py

console/main.py

console/sub.py 

- url:

/console/sub/.*
script: console.sub.app 
login: admin
secure: always

 

- url: /console/.*
script: console.main.app
login: admin
secure: always

 

- url: .*

script:

main.app