Hi Jay.

I have a similar issue.

I have stuff in http://zyons.com, which is open source, and another set of apps which build on top of it which run on multiple hosts. (http://gyspsyjobs.com & http://car-chatter.com for example)

the way I set it up is:


project/
common/
app1/
templates
app2/
templates
apps/
app3/
templates

these contain the standard way I think most people will use my code. the templates are in each app deal with the views the app does.

I then have 3 other template directories.
common_templates/
app_X_specific_templates/
site_NN/

common ones are usually stuff which I don't need to change that often (or ever) like the the Terms of Service (http://med-chatter.com/terms/ ) or privacy policy (http://med-chatter.com/privacy/ )
app specific templates are where I put boilerplates.. like a standard frontdoor for a given project-type. for example the "chat" series of sites are all based on the same front door, but other
apps I'm writing would have a completely different front door.

also in the "app" templates I put over-rides of  the common functionality. for example.. I have a non-OSS rating app where users can 'vote' on a given post (1-5) which I intend to use on top of the OSS 
forum app.
so I would put those templates in the app_X_specific_templates directory.

and obviously not all the sites are identical (they have different hostnames and possibly different things enabled for that site) .. they go in the site_NN directory.

I usually have a group of 'shared' URL roots.. 
url_app_X.py
and of course i have a set of N settings files which are hostname specific.
setting_hostname.py

so far this structure has worked for the 6-7 sites I run, and 3-4 projects I am using.


looking at it now, it all looks pretty complex.. but in reality most of the templates live in their corresponding 'app' directory with only one or two exceptions in various places.


regards
Ian.

On 31/07/2006, at 10:51 PM, Jay Parlar wrote:


I've recently been looking at the docs, trying to grok the Sites framework.

What is the recommended way of laying out the filesystem when doing
multiple sites? Let's say I have two sites, "foo" and "bar", with URLs
foo.com and bar.com.

Would you put all the files for both sites into one Django project, or
would you give each its own project?

When I say "both sites into one Django project", I mean something like this:

myproject/
    foo/
        settings.py
        urls.py
        app1/
        app2/
        templates/
    bar/
        settings.py
        urls.py
        app3/
        app4/
        templates/

Then the vhost configurations for each site can point to the
individual settings files, the sites can potentially share
applications, and they can easily share models.

I suppose the same could be done by having each site in its own
project (after all, these are just Python packages and modules), but
it seems like I wouldn't want shared models crossing project domains
like that. That's just a purely conceptual idea though.

And that's the other thing, models. Say I have a model "Baz", that is
used by app1 in "foo", and by app3 in "bar". Where would I define it?
I would guess I can arbitrarily choose to define it in either
foo.models or bar.models. Or would it make any sense to define it
somewhere else entirely, so it's not directly coupled to only one app?

Thanks,
Jay P.


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to