Assuming that the reverse url mappings is taken care of I see two things 
one may want to define per app. configuration and dependencies

There are usually two kinds of configuration settings an app may need. 
Required ones that the user must set for the app to work, and optional 
ones for which sane defaults are pre-configured or simply none are needed.

In pyblosxom [1] plugins, we do it like this:
Every plugin can define a 'verify_installation' function which is called 
  by the engine when you run it in validation mode.

In this function the author can check if required settings are available 
and inform the user about the used defaults for optional ones.
One can also check for dependencies in this function, or just print out 
messages what's needed for the plugin to work.

I think this is a good approach, as it allows one to give the user hints 
what he needs to do to get it working.

Instead of:
ImportError: No module named foo

you get:
This application requires the 'foo' library to be installed.
You can download it from http://www.foo.com/download/.
Documentation is available at http://www.foo.com/docs/.

or:
You must add 'foo.context_processors.bar' to your 
TEMPLATE_CONTEXT_PROCESSORS for this application to work.


So maybe something like this would be useful:
- myapp/validate.py, which get's run when the user uses 'manage.py 
validate'. From here the user could get a step by step guide what he 
needs to do to get everything working.

- myapp/settings.py, for per app settings.
These could maybe be merged with myproject/settings.py in some clever way.


[1] http://pyblosxom.sf.net/

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers
-~----------~----~----~----~------~----~------~--~---

Reply via email to