local_import should work, but you should now use regular import statements 
instead. If you want your modules reloaded automatically, do the following:
 
from gluon.custom_import import track_changes
track_changes()
 
That will reload your modules, but only when they change (which is an 
improvement over local_import, which will reload whether or not there are 
changes). Note, I believe the above will affect all applications. To turn 
off reloading, do:
 
track_changes(track=False)
 
And to test whether changes are currently being tracked:
 
from gluon.custom_import import track_changes, is_tracking_changes
if not is_tracking_changes():
    track_changes()
 
 
Anthony

On Friday, July 8, 2011 3:06:07 PM UTC-4, Jim S wrote:

> Hi
>
> I have a utility module that I use regularly where I put some of my 
> application-specific helper functions.  What is the proper way to import 
> this to make it available in my controllers and views?
>
> I've tried the local_import in db.py but have seen references on this list 
> that recommend against using that.  This method had the reload=True option 
> that allowed me to make changes to my utility module and not have to restart 
> the web2py server to make the changes visible.  
>
> If I recall correctly (and I certainly could be wrong), the preferred 
> method is to now use import.  But, using this method I have to restart 
> web2py every time I make a change so I can see the results.
>
> Can someone please tell me how I can import a module and have it reload 
> automatically like local_import('module', reload=True) does?  Or, should I 
> still be using local_import when I want reloading to occur?
>
> Thanks
>
>     -Jim
>
>

Reply via email to