Doug,

Many thanks for your response. I'm leaning towards your 3rd option,
initially using subdomains rather than full domain names for each
business.

Best wishes,

Nick

On Mar 27, 10:48 am, Doug Ballance <dball...@gmail.com> wrote:
> There are a few choices that I'm familiar with.
>
> 1) Create a separate project/settings file for each of your stores,
> overriding templates as needed by placing assigning a template path
> for the project.  I think this is pretty much the recommended way to
> do things, especially if the number of sites are reasonably small.  It
> offers great data isolation (using a different database for each), and
> it allows you to use all kinds of django apps and plugins.  For mass
> hosting, this is going to require more resources since you'll have
> workers for each site rather than a shared pool of workers.
>
> 2) Do some 'strange things', such as changing database or schema on a
> per-request basis using threadlocals and a middleware. This offers
> much of the capability of 1, but there may be compatibility issues
> (module level caching for example) and tricky foreignkey
> restrictions.    http://tidbids.posterous.com/saas-with-django-and-postgresql
> That post, and some of the comments will probably be of interest to
> you.
>
> 2) Do your own multi-tenant user setup.  There isn't anything built in
> for this, and as a result you lose a lot of the built in functionality
> like the admin as well as any hope of using user aware third-party
> apps.  This is the way I ended up going.  We use a custom template
> loader/middleware to check for site specific templates, site specific
> caching, and a custom siteuser/site framework.  All data is stored in
> the same database, with ownership linked back to the custom siteusers/
> sites and permission checking related to the views.  We keep the
> django user and sites framework as well, but use it/the admin for
> administration use only.  This is the most complicated path, but I
> think the advantages make it worth it for a large number of sites. We
> can add sites using an admin interface, and use fewer resources since
> caching and workers are all shared.

-- 
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 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to