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

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

広告

About sato_c

小学生の頃にインベーダーゲームやPC-8001やApple][といったものを知ってしまい、それ以降ずーっとゲーム好き。でも、あんまりうまくはありません。 仕事は当初はゲーム関係のプログラムやサウンドをやっていましたが、WEB関係を通ったあと、遊技機関係のプログラムやサウンドをやっています。あまり節操がないのか。 現在はJavaですてきなコードを書けるように勉強中。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。