You might also find this of interest (particularly the first section about 
exec): http://web2py.com/AlterEgo/default/show/271

Anthony

On Thursday, September 8, 2011 9:28:45 PM UTC-4, Anthony wrote:
>
> Yes, in this regard web2py is not quite like most other Python web 
> frameworks. All of your model files are executed in a prepared environment 
> that includes various framework objects, such as request, response, session, 
> and many of the API objects. Your controller is then executed in that 
> environment after the models have been run, so whatever objects have been 
> created in your models are available in the controller. If your controller 
> function returns a dictionary, the execution environment is then updated to 
> include the items in the dictionary, and your view is executed in that 
> updated environment.
>
> So, the "boundaries of this happy sharing," as you put it, are the model, 
> controller, and view files (note, the view files see everything created in 
> the model files, but only the items returned in the dictionary of the 
> controller function, not any other objects created in the controller).
>
> Any other code you want to access (e.g., Python standard library, Python 
> site-packages, files in your application's 'modules' folder) have to be 
> imported as usual.
>
> See http://web2py.com/book/default/chapter/04#Dispatching (particularly 
> the bulleted list near the end of the section) and 
> http://web2py.com/book/default/chapter/04#Execution-Environment (first 
> paragraph).
>
> Anthony
>
> On Thursday, September 8, 2011 8:13:05 PM UTC-4, Luca wrote:
>>
>> I understand, but this is very un-python like and weird... you mean that 
>> if I have 
>>
>> a = 1
>>
>> in a file, and then load another file, then a is still 1 also in the other 
>> file?  This is incredibly weird to me -- normally, files have to import each 
>> other to share variables in this way. 
>>
>> Ok... now I just wonder what the precise boundaries of this happy sharing 
>> are.  Thanks!!
>>
>> Luca
>>
>

Reply via email to