On Mon, Oct 3, 2011 at 10:49 AM, Matt Broadstone <mbroa...@gmail.com> wrote: > On Mon, Oct 3, 2011 at 10:11 AM, Bruno Rocha <rochacbr...@gmail.com> wrote: >> You can always set >> if x: >> response.view = 'folder/file.html' >> elif y: >> response.view = '....' >> Also, you can use: >> def action: >> return response.render("file.html", dict(context=context)) >> > I tried this with the following code in my controller: > > if (isinstance(p, TestProtocol)): > response.view = "connection/templates/test.html" > > > and I get this error: > Traceback (most recent call last): > File "/home/mbroadstone/app/src/web2py/gluon/template.py", line 437, > in _get_file_text > fileobj = open(filepath, 'rb') > IOError: [Errno 2] No such file or directory: > '/home/mbroadstone/app/src/web2py/applications/app/views/../edit.html' > > I then tried to print out what response.view should have been prior, > and it contained "connection/edit.html" as expected. What am I doing > wrong here? > Apologies, this has to do with the "extend" being used in the sub-template. Thank you very much for your help
> Matt > > >> On Mon, Oct 3, 2011 at 10:16 AM, Matt Broadstone <mbroa...@gmail.com> wrote: >>> >>> Good morning, >>> I have a situation where I want to display composite views (a view >>> for an object inside a view for its parent object). I have a class >>> Connection that has a Profile associated with it. Profile can be one >>> of a number of different subclasses (AProfile, BProfile, CProfile). I >>> also have views associated for each of the profiles, within a >>> "template" directory under the "views/connection" directory. The way >>> I've tried to go about solving this is to make a view.html (associated >>> with the view() method in the controller) as a base template with a >>> block for "profile_section" inside of it. Then, in each of the profile >>> templates, I extend view.html and then fill out the block for the >>> profile. >>> >>> The problem I am now facing is how to properly route to the right >>> template file from within the controller's view method. I know I could >>> just create a new method in the controller for each profile type, but >>> I'd rather not do that if possible. I also think that a simple >>> redirect is not the right solution here. Can anyone advise as to the >>> best way to do this? Or am I just on the wrong track with the whole >>> "extend" idea? >>> >>> Thank you, >>> Matt >> >> >> >> -- >> >> >> >> -- >> Bruno Rocha >> [ About me: http://zerp.ly/rochacbruno ] >> [ Aprenda a programar: http://CursoDePython.com.br ] >> [ O seu aliado nos cuidados com os animais: http://AnimalSystem.com.br ] >> [ Consultoria em desenvolvimento web: http://www.blouweb.com ] >> >