昨日のエントリーでは、ログインシステムを構築する方法について書きました。
昨日紹介したプログラムでも稼動するのですが、(ログイン|ログアウト)した後リダイレクト先を設定していないので融通がききません。
そこで、今日は、リダイレクト先が設定できるようにしたいと思います。
まず、前提としてリダイレクト先は、staticファイル、つまり性的ファイルを表示することを念頭におきます。
すると、app.yamlの設定
handlers: - url: /login static_files: hoge.html upload: hoge.html
- url: /logout static_files: ./foo.html upload: ./foo.html
- url: /.* script: test.py |
ここでは、loginした後、/loginディレクトリという名のもとで、実際には、hoge.htmlを表示し、一方でログアウトした時は、/logoutという名目でfoo.htmlを表示するように設定しています。
test.pyは↓
from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app from google.appengine.api import users
class MyHandler(webapp.RequestHandler): def get(self): user = users.get_current_user() if user: greeting = ("Welcome, %s! (<a href=\"%s\">sign out</a>)" % (user.nickname(), users.create_logout_url("/logout"))) else: greeting = ("<a href=\"%s\">Sign in or register</a>." % users.create_login_url("/login"))
self.response.out.write("<html><body>%s</body></html>" % greeting)
application = webapp.WSGIApplication( [('/', MyHandler)] , debug=True)
def main(): run_wsgi_app(application)
if __name__ == "__main__": main() |
実際に動かしてみると正常に動作しました。
これで(ログアウト|ログイン)した後のリダイレクト先が設定できるのでより便利になりました。
>>まず、前提としてリダイレクト先は、staticファイル、つまり性的ファイルを表示することを念頭におきます。
返信削除>>性的
俺も一発でそう変換されるけど、気をつけような・・・!!
正しくは精滴。あごめん違うや静的。