Monday, December 17, 2012

How to distribute a hybrid Django project/app ??

[Firstly, sorry if this appears to be a repost: I'd written a lengthy question previously and posted, but never saw it up in the listing. Did the ThreadMonster eat it?]

I'm putting the final touches on a art show management tool, written for Django of course, and I am seeing opinions on the best way to arrange its structure to be as useful as possible to others.

I want to both have this able to be used as a stand-alone application, with minimal interaction with Django, and also as an application that can be used in a larger project. The two aren't necessarily compatible, but I've seen a few projects now seem to fit both bills well and am considering using this pattern.

The project is distributed as one directory tree using the Django-1.4 struture, with some minor re-arrangements of the settings files

ProjectName
+-- __init__.py (so that ProjectName can be imported as a python Module)
+-- ProjectName
    +-- common_settings.py
+-- App1
+-- App2
+-- manage.py
+-- local_settings.py (imports common_settings)

If someone wanted to just use this as a standalone application (in the general sense), then they'd make changes to local_settings.py, syncdb and migrate, then start up whatever webservice they wanted configured.

If someone wanted to use the apps provided in their own Django project, then they'd install the above directory as a python package, then include ProjectName.App1 in their INSTALLED_APPS setting. The internal ProjectName and any settings files are now ignored.


In either case, the entire tree above would be available as a PyPI package, as well as via github.


Does that sound like a good, useful, plan? In the alternate, does anyone have other suggestions worth looking at ?

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/CAWO2nzexD8J.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate