1from pyramid.view import ( 2 view_config, 3 view_defaults 4 ) 5 6 7@view_defaults(route_name='hello') 8class TutorialViews(object): 9 def __init__(self, request): 10 self.request = request 11 self.view_name = 'TutorialViews' 12 13 @property 14 def full_name(self): 15 first = self.request.matchdict['first'] 16 last = self.request.matchdict['last'] 17 return first + ' ' + last 18 19 @view_config(route_name='home', renderer='home.pt') 20 def home(self): 21 return {'page_title': 'Home View'} 22 23 # Retrieving /howdy/first/last the first time 24 @view_config(renderer='hello.pt') 25 def hello(self): 26 return {'page_title': 'Hello View'} 27 28 # Posting to /howdy/first/last via the "Edit" submit button 29 @view_config(request_method='POST', renderer='edit.pt') 30 def edit(self): 31 new_name = self.request.params['new_name'] 32 return {'page_title': 'Edit View', 'new_name': new_name} 33 34 # Posting to /howdy/first/last via the "Delete" submit button 35 @view_config(request_method='POST', request_param='form.delete', 36 renderer='delete.pt') 37 def delete(self): 38 print ('Deleted') 39 return {'page_title': 'Delete View'} 40