Thanks so much for this. That clears up a LOT. Michael
On Feb 19, 4:38 pm, "Waylan Limberg" <[EMAIL PROTECTED]> wrote: > On Mon, 19 Feb 2007 15:58:37 -0500, Veloz <[EMAIL PROTECTED]> wrote: > > > Hi there > > > A couple weeks back I evaluated Django under Python 2.4. I followed > > the installation instructions and all went well. > > > Recently we upgraded from python 2.4 on the server to python 2.5, and > > at that point, my Django stopped working. > > > (The 2.4 version of Python came either installed with Fedora Core 4, > > or perhaps via yum at a later time. 2.5 was put on there by me by > > doing the configure/make/install cycle this morning) > > > I assumed the problem was because Django had been installed into the > > site-packages of my 2.4 python installation (which is in /usr/lib) and > > now my newest python is running out out of /usr/local/lib) and its > > site-package directory does not contain Django. (I'm guessing that was > > the problem) > > > Anyway, so I used svn to download Django into my python 2.5 directory, > > but now when I run django-admin.py its complaining about not finding > > the DJANGO_SETTINGS_MODULE env variable. I read up on this and am > > confused because: > > > 1. Why did I not get this error before when I tried Django under 2.4 > > (was there something that was automatically configured for me with > > regard to DJANGO_SETTINGS_MODULE that is no longer automatically set > > now that I'm using a compiled version of Python?) > > I don't why, as I don't know exactly what you did different this time (but > neither do you or you wouldn't be asking). Generally, I only use > django-admin.py to start a new project. Once the basic directory structure > is created, I cd into that dir and use manage.py which will automatically > configure the DJANGO_SETTINGS_MODULE to settings.py in the current > directory. Perhaps that's what you did before. In case you don't know, > manage.py is basically a wrapper around django-admin.py that takes care of > the settings for you, so you can use it the same way minus the headaches > of setting the DJANGO_SETTINGS_MODULE. Type `manage.py help` for a full > list of commands. > > > > > 2. I'm a bit confused about the purpose and use of > > DJANGO_SETTINGS_MODULE (I have read the docs). If you host multiple > > sites, how can you tell Django about all their configuration files > > with just one environment variable? I must be missing the boat here. > > The trick is that environment variables are loaded when a python session > starts. Within that python session you can make any changes you want to > the environment variables without those changes rolling back to the actual > OS environment. Therefore, the first thing manage.py does, for example, is > set `os.environ['DJANGO_SETTINGS_MODULE']` to settings.py of the current > working directory. As mod_python and fcgi (the most common ways to deploy > django) both load django as a long running process (simply stated), that > setting is preserved within that project only. For example, mod_python has > a `SetEnv` directive where the DJANGO_SETTINGS_MODULE` can be defined for > a specific project. For more, I suggest reading the docs[1]. > > [1]:http://www.djangoproject.com/documentation/settings/ > > > > > Any input related to the above topics would be greatly appreciated. At > > this point my progress on my project has come to a screeching halt. > > > Thanks! > > Michael > > -- > Waylan Limberg > [EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---