- まずは認証なしでサーバの時刻を表示する。
- コントローラ名はclock、アクション名はnowでいいでしょ。
$ paster controller clock
import logging
from pylons import request, response, session, tmpl_context as c
from pylons.controllers.util import abort, redirect_to
from myclock.lib.base import BaseController, render
import datetime
log = logging.getLogger(__name__)
class ClockController(BaseController):
def now(self):
c.title = 'My Clock'
c.heading = 'Welcome!'
c.content = "Current time is %s" % str(datetime.datetime.now())
return render('/derived/clock/now.html')
- テンプレートは一応階層構造にしておく。
- /templates/base
- /templates/derived/clock
- /templates/derived/error
- /templates/components
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>${self.title()}</title>
${self.head()}
</head>
<body>
${self.header()}
${self.heading()}
${next.body()}
</body>
</html>
<%def name="title()">My Clock</%def>
<%def name="head()"></%def>
<%def name="header()"><a name="top"></a></%def>
<%def name="heading()"><h1>${c.heading or 'My Clock'}</h1></%def>
- 時刻を表示するderived/clock/now.html
<%inherit file="/base/index.html"/>
${c.content}
paster serve --reload development.ini
- アプリにアクセス(http://サーバアドレス:5000/clock/now)
目次に戻る