ok. thanks, that clarified the a few things. 

On Saturday, December 22, 2012 10:48:35 PM UTC, Anthony wrote:
>
> On Saturday, December 22, 2012 5:00:52 PM UTC-5, jonas wrote:
>
>> Ok, I have a {{include}} statement in the beginning of the layout.html 
>> file that cals index.html and the corresponding index.py controller. And 
>> that one returns variables. So there is no way to call sidebar.py with tve 
>> corresponding view to get the variables?
>>
>
> That's not quite how it works. Views do not call controllers. Rather, when 
> a URL is requested, web2py routes the request to a particular controller. 
> Once the controller returns, then the view is executed. So, your browser 
> calls /myapp/default/index. web2py receives that request, and after 
> executing your model files, it runs the index() function in the default.py 
> controller. After the index() function returns, it then executes the 
> /views/default/index.html view (with the keys/values of the dict returned 
> by the index() function being available as variables within the view). Your 
> index.html view then extends the layout.html view, which means its code 
> gets inserted in place of the {{include}} within layout.html. So, the 
> {{include}} in layout.html is not calling index.html, and index.html is not 
> calling the index() function -- the order is the exact opposite -- the 
> index() function is called first, then the index.html view is executed, and 
> finally the index.html view extends layout.html.
>
> Anthony
>

-- 



Reply via email to