I'd love to see a better way of managing settings in the core of
django. It's a real pain point sometimes for writing and using
pluggable applications and there's a wide range of ways that
application developers try to tackle it. Some have basically no
settings, some plan on users reading the documentation and defining
all required settings, some have a way of using defaults that can be
overridden and some have hacked together ways of using the database
for some settings (I think ReviewBoard does something like this, or
did). The problem I see is that the *best* way hasn't really bubbled
to the surface as far as I can tell. Kind of like how database
migrations are a hard problem, settings management seems kind of
tricky.

Are there things stopping someone from making a really good app for
managing settings and letting that bubble up to the de facto solution
like with South? If there are, maybe removing those things would be a
good target before trying to build the actual solution in contrib. Of
course, this is probably not the best time for discussing this since
everyone is trying to get 1.2 out the door, but I'd love to see this
area improved down the road.

My specific pain points:
 * With a given app, it's a crapshoot to find where they define their
internal settings (some use app/conf/settings.py, some app/conf/
default.py, some app/default.py etc)
 * It's hard to tweak settings on deployment for different
environments. Using a settings_local.py that gets included is a
workable solution, but it requires you to maintain a monolithic file.
Something like the conf.d/*.conf debian style of configuration might

Pinax is having a similar discussion right now. Maybe something will
come out of that project that can be applied/adapted to some later
version of django. That might be a place to apply some development if
anyone is interested in working towards better settings management.
http://groups.google.com/group/pinax-core-dev/browse_thread/thread/d9401468ea3c8edf

-Wes

On Feb 26, 2:11 am, Jared Forsyth <ja...@jaredforsyth.com> wrote:
> I have been looking around for a way of managing user-configurable
> application settings, and the only solution I have found is dbsettings,
> which looks like it hasn't been touched in 3 years.
> So, I would like to know: is dbsettings dead? Or is there a different
> generally accepted method for having user-friendly app settings? (e.g. don't
> require code modification)
>
> I think that this idea is pretty essential to django's ease of use; there
> are many applications which have (or should have) settings which only effect
> UI or minor behavioral issues, and shouldn't require a server restart to
> effect (and imo shouldn't require server write access). It seems that the
> most viable solution would be to have a database managed settings system (in
> the form of a .contrib module) which would manage this. It also seems that
> having such an infrastructure in place would really encourage app
> maintainers to have more settings, thereby making the apps even more
> portable.
>
> Any thoughts?
>
> Thanks,
> Jared

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-develop...@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to