tags:

views:

51

answers:

1

Is it possible and correct to have multiple sites under single django project. So that there will be globally shared sittings file,urls files along with global shared 'apps' for all the sites and a common admin interface for all the sites under the single django project. Each site might have its own setting,urls and templates that will be overridden or imported dynamically into the parent settings file.

Could anyone please tell me how to achieve this using Python2.6 + Django 1.2.1 + Apache2.2 + mod_wsgi. As I am a bit confused with the virtualhost need to be supplied while using the mod_wsgi.

As per the above requirement I am planning to keeping the wsgi file in the main django project directory so that the main settings will be imported and within the main setting I am planning to import the requested sites settings dynamically.Is it possible this way using Apache + mod_wsgi. Please advice.

OR

Instead of global django project do I have to make a globally shared module for importing the global setting and url details into site specific settings and urls.

I would like to make better reuse of the code rather than making redundant changes in each sites.

Please advice.

A: 

Yes, this is entirely possible. The sites can even share data.

The sites framework enables this - for documentation, see here:

http://docs.djangoproject.com/en/1.2/ref/contrib/sites

andrewmu
Hi Andrew, thanks, but could you please explain how the apache virtual host will be created for each site using mod_wsgi and how the requests will be handled and passed into its respective sites dynamically using mod_wsgi. Won't each site have its own settings and urls? Please advice
Joseph
I haven't done it, but I'd expect you would define a virtual host for each site, configured to all use the same django project. Then within the application, I imagine you would use `Site.objects.get_current()` to select e.g. the template dir, etc for the individual sites.
andrewmu
Could you please explain how can we configure virtual sites for all the sites to configure to use the same django project. I am really confused in that section. Please advice
Joseph
If you can set up two or more virtual hosts in apache (there is good documentation for this) and give them the same WSGI settings, does that work?
andrewmu