On Apr 16, 2010, at 5:13 PM, mdipierro wrote:
> Not quite.
>
> {{extend name}} without quote is supported by name has to be a
> variable containing the name of the template. This allows to have
> templates determined dynamically based on user for example.
So instead of {{extend request.layout}}, what?
Can I do:
{{layout = request.layout}}
{{extend layout}}
?
Note that {{extend request.layout}} works fine in normal operation. It only
breaks when I try to compile the app, because request isn't defined for the
eval().
>
> On Apr 16, 5:24 pm, Jonathan Lundell <[email protected]> wrote:
>> On Apr 16, 2010, at 2:11 PM, Jonathan Lundell wrote:
>>
>>
>>
>>> I have several questions regarding app compiles, but the first one is this:
>>
>>> Error traceback
>>> 1.
>>> 2.
>>> 3.
>>> 4.
>>> 5.
>>> 6.
>>> 7.
>>> 8.
>>> 9.
>>> 10.
>>> 11.
>>> 12.
>>> 13.
>>> 14.
>>> 15.
>>> 16.
>>> 17.
>>> 18.
>>> 19.
>>> Traceback (most recent call last):
>>> File "/Users/jlundell/VTC/vpeps-web2py/web2py/gluon/restricted.py", line
>>> 173, in restricted
>>> exec ccode in environment
>>> File
>>> "/Users/jlundell/VTC/vpeps-web2py/web2py/applications/admin/controllers/default.py",
>>> line 1061, in <module>
>>> File "/Users/jlundell/VTC/vpeps-web2py/web2py/gluon/globals.py", line 96,
>>> in <lambda>
>>> self._caller = lambda f: f()
>>> File
>>> "/Users/jlundell/VTC/vpeps-web2py/web2py/applications/admin/controllers/default.py",
>>> line 213, in compile_app
>>> c = app_compile(request.args[0], request)
>>> File "/Users/jlundell/VTC/vpeps-web2py/web2py/gluon/admin.py", line 141,
>>> in app_compile
>>> compile_application(folder)
>>> File "/Users/jlundell/VTC/vpeps-web2py/web2py/gluon/compileapp.py", line
>>> 520, in compile_application
>>> compile_views(folder)
>>> File "/Users/jlundell/VTC/vpeps-web2py/web2py/gluon/compileapp.py", line
>>> 293, in compile_views
>>> data = parse_template(file, path)
>>> File "/Users/jlundell/VTC/vpeps-web2py/web2py/gluon/template.py", line
>>> 139, in parse_template
>>> t = os.path.join(path, eval(match.group('name'), context))
>>> File "<string>", line 1, in <module>
>>> NameError: name 'request' is not defined
>>> The match in question is presumably {{extend request.layout}}, right?
>>
>> OK, that's what I changed. Because I was experimenting with layouts, I
>> changed {{extend 'layout.html'}} to {{extend request.layout}}, which I
>> assumed would work because request appears to be defined in views. But it's
>> not defined in the context of the extend logic's eval().
>>
>> It seems like a reasonable thing to be able to do....
>>
>> --
>> Subscription settings:http://groups.google.com/group/web2py/subscribe?hl=en