Hi group, Currently Django has its own concept of namespacing (apps) and mostly ignores Python modules. I'd like to propose using Python paths wherever we can instead of apps. This would solve a lot of problems with conflicting submodule names that plague maintainers of reusable apps and frameworks. Currently if you try to provide a base frobnicator model and you choose to do so in "fooframework.frobnicator.models", you pretty much forbid the users from putting derived classes in a local module named "frobnicator.models". Bad things happen when two apps start to provide "frobnication_tags".
I propose the following: * make the internal model handling operate on full paths to the classes, rather than just the app names and class names * make the DB table names use full python paths instead of just the app name and the class name * make templatetag loading use full paths rather than just the suffix * allow fully qualified templatetag names ("{% foo.templatetags.frobnication_tags.frobnicate baz %}") and possibly loading aliases ("{% import foo.bar.tags as bar %}") to cover the case when conflicts are hard to avoid (different app authors etc.) * for 1.4 provide a number of fallback settings that can be used to enable legacy behavior in each of the first three points PS: http://code.djangoproject.com/ticket/12772 PPS: Please don't shoot me. :> -- Patryk Zawadzki I solve problems. -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@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.