テンプレートとusersクラスと固定ディレクトリ
何度も消したり公開したり、すいませんでした。
ソース中のコメントが文字化けしたのを直そうとして直らなかったのでコメントなしで公開しますorz
もう一度はてな記法のヘルプを読み返してみます。失礼しました。
以下のファイルは、demos\log へ。
app.yaml
application: main version: 1 runtime: python api_version: 1 handlers: - url: /css static_dir: css - url: /img static_dir: img - url: /.* script: main.py
main.py
import wsgiref.handlers import os from google.appengine.api import users from google.appengine.ext import webapp from google.appengine.ext.webapp import template class RootPage(webapp.RequestHandler): def get(self): if users.get_current_user(): url = users.create_logout_url(self.request.uri) logged = 1; name = users.get_current_user().nickname() else: url = users.create_login_url(self.request.uri) logged = 0; name = 'not logged in' template_values = { 'url': url, 'name': name, 'logged': logged } path = os.path.join(os.path.dirname(__file__), 'main.html') self.response.out.write(template.render(path, template_values)) def main(): application = webapp.WSGIApplication([ ('/', RootPage) ], debug=True) wsgiref.handlers.CGIHandler().run(application) if __name__ == "__main__": main()
main.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja-JP" lang="ja-JP"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="/css/main.css" /> </head> <body> {% if logged %} Login: {{ name }}<hr /> <a href="{{ url }}">Logout</a> {% else %} Not logged in.<hr /> <a href="{{ url }}">Login</a> {% endif %} </body> </html>
demos\log の中に css と img というフォルダを作って、 css フォルダの中に以下のファイルを。
main.css
body { background-color: #888888; color: #ffffff; }
img フォルダはまだ何も入れません。
そして、
dev_appserver.py demos\log
として、サーバーを起動してアクセスしてみてください。