Il m'a fallu une éternité pour découvrir pourquoi un template ne se remplaçait pas, seulement pour constater qu'il semble que Django n'utilise pas la priorité correcte en remplaçant les templates.Django mauvais préséance des modèles?
Les modèles que j'essaie de modifier sont ceux qui modifient le mot de passe de l'utilisateur, qui sont chargés pour l'URL /accounts/password/change
. J'ai mes modèles modifiés dans mysite/myapp/templates/registration
; les modèles par défaut du système sont à /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/admin/templates/registration
. Lorsque des modèles sont présents dans ces deux répertoires, Django utilise les systèmes (/Library
). Huh?
Lorsque je supprime les modèles dans /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/admin/templates/registration
, les bons (c'est-à-dire le mien, dans mysite/myapp/templates/registration
) sont chargés.
Comment réparer ce problème? C'est, comment faire Django charger mes modèles surchargés sans avoir la suppression des modèles originaux trouvés dans le /Library
?
hmm, cela a fonctionné, merci. Mais comment se fait-il que django le trouve même si ce n'est pas dans les répertoires de modèles si je supprime les modèles par défaut? – houbysoft
Il doit utiliser une sorte de liste d'ordre de priorité: utiliser override OU vérifier par défaut OU vérifier local – Chakib