- October 14, 2008
- django cron scripts
- 0 (after 2 ratings)
To make all scripts relocatable.
The layout of my project is:
/some/path/myproject/ /some/path/myproject/some_script /some/path/myproject/some_other_script /some/path/myproject/set_paths.py /some/path/myproject/setttings.py /some/path/myproject/lib/ # some external libraries/apps checked in with my project. /some/path/myproject/myapp/ # my apps etc.
This way myproject folder can be moved anywhere on the file system, and calling right path, settings.py is used.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
# content of set_paths.py: import sys, os import path # http://www.jorendorff.com/articles/python/path/ def set_paths(f): p = path.path(f) sys.path.append(str(p.parent.joinpath("..").abspath())) sys.path.append(str(p.parent.parent.joinpath("lib/").abspath())) os.environ["DJANGO_SETTINGS_MODULE"] = "myproject.settings" # usage: # contents of file "some_script": #!/usr/bin/python import set_paths set_paths.set_paths(__file__) # this must be the first thing in the script. from myproject.myapp.models import MyModel print MyModel.objects.count() # whatever.
More like this
- manage.py with magic python path by bikeshedder 9 years, 1 month ago
- Command Line Script Launcher by dakrauth 8 years ago
- djangopath: conveniently set sys.path and DJANGO_SETTINGS_MODULE by alia_khouri 7 years, 11 months ago
- Update All Apps to Latest Revision by dedaluz 8 years ago
- Update All Apps to Latest Revision by ericflo 8 years ago