> On 25/09/2010 18:32, Tim Sawyer wrote: >> On 25/09/10 15:57, craphunter wrote: >>> Yes, I have read it, but I don't really get it. What is the meaning of >>> it? >> >> Consider a website that has multiple blogs, all of which are deployed to >> the same database. >> >> Consider that you want each blog to be a separate URL: www.blog1.com, >> www.blog2.com, but you only want one database for ease of backing up >> etc. >> >> So, you have one codebase, one database, but multiple sites. >> >> You can achieve this using SITE_ID. www.blog1.com has a settings.py >> with SITE_ID = 1. www.blog2.com has a settings.py file with SITE_ID = >> 2. In your database, there are two rows in the django_site database >> table, with serials 1 and 2. The table that holds the blog entries has >> a foreign key to Site, and so identifies which site the blog post >> appears on. >> >> At least that's how I used it...hope that helps clarify it a bit! >> >> Tim. > > Hey Tim, > > the way you used it would mean that you had different settings.py per > site/url and thus > a project per url as 1 project can only have 1 settings file? Is this > correct? > Have do you config the admin then so you see both sites in the same admin?
Hi Benedict, Yes that's correct. Each settings.py is a separate virtual host in Apache. The rest of the source was common (on the pythonpath). So the pythonpath was the same for each virtual host but there was a uniquely named settings.py refered to from the mod-wsgi config. These were distinct sites for distinct customers, so each site had its own admin, limited to that site's data. Here's the mechansim I used to limit the admin to that site's objects. I think if you don't do any of this, each admin will have all the data available in it, if that's what you want. Each model had an additional manager: from django.contrib.sites.managers import CurrentSiteManager class Contest(models.Model): ... objects = models.Manager() on_site = CurrentSiteManager() and in the admin.py I redefined the queryset: class ContestAdmin(SiteOnlyAdmin): def queryset(self, request): return self.limitQueryset(request, Contest) admin.site.register(Contest, ContestAdmin) where limitQueryset is defined on the superclass as: def limitQueryset(self, request, pObject): return pObject.on_site.all() Hope that helps, Tim. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@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.