Google App Engine でサイト管理用のページを作成
app.yaml を使用した管理者アクセス
Google App Engine でサイト管理用の領域を設定するには、app.yaml で定義すると簡単です。
サンプルコード
app.yaml
application: netarrows version: 1 runtime: python api_version: 1 handlers: - url: /admin/.* script: admin.py login: admin - url: /.* script: main.py
admin.py
from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app class AdminPage(webapp.RequestHandler): def get(self): self.response.headers['Content-Type'] = 'text/plain' self.response.out.write('Admin Page') application = webapp.WSGIApplication([('/admin/.*', AdminPage)],debug=True) def main(): run_wsgi_app(application) if __name__ == "__main__": main()
ログインしていない状態で、開発用サーバーで"/admin/"にアクセスすると、
いったんログインページが表示されます。「Sign in as Administrator」をチェックしてログインすると、管理用ページが表示されます。チェックしないでログインすると"Current logged in user test@example.com is not authorized to view this page."と表示され、アクセスが拒否されたことが分かります。
参考ページ
app.yaml を使用した強制ログインと管理者アクセス
http://code.google.com/intl/ja/appengine/docs/python/users/overview.html