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