Models, controllers, and views are executed in an environment that includes 
all the web2py API objects<http://web2py.com/books/default/chapter/29/4#API>, 
including request, response, session, etc. The objects added to the 
environment by the models are also available in the controllers and views 
(which are executed after the models) -- so if you define db and auth in 
the models, they will be available in the controllers and views. The 
objects created in the controller are not generally available in the views, 
but the items returned in a dict by a controller action are available in 
the views. See http://web2py.com/books/default/chapter/29/4#Workflow.

If you want these objects available in modules, you can use the currentobject, 
or pass them as arguments, as you have been doing. For more about 
using current, see 
http://web2py.com/books/default/chapter/29/4#Accessing-the-API-from-Python-modules
.

Anthony

On Sunday, July 8, 2012 8:48:54 AM UTC-4, cornelinux wrote:
>
>  Hi,
> I think I am missing some of the major concepts of web2py.
>
> By some_magicTM is got some object like "db", "request" and "auth" 
> available in all my controllers.
> I think these are setup in db.py.
> Anyway, still strange for me.
>
> What would I need to do, when I want to make these available in some 
> lib/modules?
> At the moment I always pass db and request as parameters.
> But as these modules are only used with my web2py project, I want to get 
> rid of passing these parameters.
>
> Thanks a lot and kind regards
> Cornelius
>
>  

Reply via email to