2013/8/12 Stefano Crosta <[email protected]>

There is one situation where the order of INSTALLED_APPS really matters -
> which is template override.
>

There are at least two other similar cases: translations and static files.


> Though not officially documented (?) I've found references in the mailing
> list to the fact that APPS coming first in the INSTALLED_APPS will have
> priority - their templates will be loaded effectivily overriding/shadowing
> lower priority app ones.
>

Yes, we should standardize and document that.

On a related note, some lookups depend on the INSTALLED_APPS settings and
others depend on the list of applications registered in the AppCache. The
latter may be a superset of the former. We should give some thought to this
problem before committing to a given discovery behavior.

Eventually, Django should probably raise an error when the AppCache loads a
model from an application than isn't in INSTALLED_APPS. But there may be
uses cases for this eg. dynamically generated models. Enough said, I'm
stopping this digression here :)


> Now, if this is "officially" confirmed in my opinion it would require:
>
>    1. use a list, not a set, as a default for INSTALLED_APPS. In Python sets
>    are unordered<http://docs.python.org/2/tutorial/datastructures.html#sets> 
> as
>    you surely now better than me
>
> The default generated settings file defines INSTALLED_APPS a tuple, not a
set.

We could change it to a list, however, that will introduce inconsistencies
with other settings where the default value is a tuple and can't be changed
without introducing backwards incompatibilities.

>
>    1. be more explicit in the documentation
>
> Yes!

-- 
Aymeric.

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-developers.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to