diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-07-14 07:31:31 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-07-14 07:31:31 +0000 |
| commit | 85427fa0479aefd59bd55dca397b9a36277edade (patch) | |
| tree | cafad1ccb7d3f4c9a0b953adba78cd8caae70e93 /repoze/bfg/sampleapp | |
| parent | 9fcb68e1563e22eed1fd7cbbd10993cff30242f8 (diff) | |
| download | pyramid-85427fa0479aefd59bd55dca397b9a36277edade.tar.gz pyramid-85427fa0479aefd59bd55dca397b9a36277edade.tar.bz2 pyramid-85427fa0479aefd59bd55dca397b9a36277edade.zip | |
Less magical templated view model: make custom template views responsible for
knowing their template's name.
Diffstat (limited to 'repoze/bfg/sampleapp')
| -rw-r--r-- | repoze/bfg/sampleapp/configure.zcml | 20 | ||||
| -rw-r--r-- | repoze/bfg/sampleapp/views.py | 17 |
2 files changed, 20 insertions, 17 deletions
diff --git a/repoze/bfg/sampleapp/configure.zcml b/repoze/bfg/sampleapp/configure.zcml index dfe30d56b..d5cba4d33 100644 --- a/repoze/bfg/sampleapp/configure.zcml +++ b/repoze/bfg/sampleapp/configure.zcml @@ -1,27 +1,25 @@ <configure xmlns="http://namespaces.zope.org/zope" - xmlns:browser="http://namespaces.repoze.org/browser" + xmlns:bfg="http://namespaces.repoze.org/bfg" i18n_domain="repoze.bfg"> <include package="repoze.bfg" /> <!-- the default view for a Blog --> - <browser:page + <bfg:view for=".models.IBlog" - class=".views.BlogDefaultView" - template="templates/blog.pt" + factory=".views.BlogDefaultView" permission="repoze.view" /> <!-- the default view for a BlogEntry --> - <browser:page + <bfg:view for=".models.IBlogEntry" - class=".views.BlogEntryDefaultView" - template="templates/blog_entry.pt" + factory=".views.BlogEntryDefaultView" permission="repoze.view" /> <!-- the add template for a BlogEntry --> - <browser:page + <bfg:view for=".models.IBlog" template="templates/blog_entry_add.pt" name="add_entry.html" @@ -29,15 +27,15 @@ /> <!-- the add handler for a BlogEntry --> - <browser:page + <bfg:view for=".models.IBlog" - class=".views.BlogEntryAddView" + factory=".views.BlogEntryAddView" permission="repoze.view" name="add_entry_handler" /> <!-- the contents view for any mapping (shows dict members) --> - <browser:page + <bfg:view for=".models.IMapping" template="templates/contents.pt" name="contents.html" diff --git a/repoze/bfg/sampleapp/views.py b/repoze/bfg/sampleapp/views.py index 3d61802bb..98b285b67 100644 --- a/repoze/bfg/sampleapp/views.py +++ b/repoze/bfg/sampleapp/views.py @@ -2,13 +2,18 @@ import time from webob.exc import HTTPFound -from repoze.bfg.template import TemplateView +from repoze.bfg.view import TemplateView +from repoze.bfg.view import View + from repoze.bfg.sampleapp.models import BlogEntry def datestring(dt): - return dt.strftime('%Y-%m-%dT%H:%M:%S') + return dt.strftime('%Y-%m-%d %H:%M:%S') class BlogDefaultView(TemplateView): + + template = 'templates/blog.pt' + def getInfo(self): entrydata = [] for name, entry in self.context.items(): @@ -23,6 +28,9 @@ class BlogDefaultView(TemplateView): return {'name':self.context.__name__, 'entries':entrydata} class BlogEntryDefaultView(TemplateView): + + template = 'templates/blog_entry.pt' + def getInfo(self): return { 'name':self.context.__name__, @@ -32,10 +40,7 @@ class BlogEntryDefaultView(TemplateView): 'created':datestring(self.context.created), } -class BlogEntryAddView(object): - def __init__(self, context, request): - self.context = context - self.request = request +class BlogEntryAddView(View): def __call__(self): author = self.request.params['author'] |
