むずかしいことはわかりません

いろいろ書いてるみたいな

テンプレートと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

として、サーバーを起動してアクセスしてみてください。