Hi Tim, On 05/14/2016 08:03 AM, Tim Graham wrote: > While testing this, I ran into a shortcoming with the fallback strategy > for backwards-compatibility. > > If you have a DjangoTemplates backend configured with 'APP_DIRS': True > (as in the tutorial) and you try to visit /admin/auth/user/#/change/ > which renders the ReadOnlyPasswordHashWidget, the template system will > crash with TemplateDoesNotExist because it can find the widget's > template using the app_directories loader but not the > 'django/forms/widgets/attrs.html' template that the first template > includes. Since the first template is found using what's configured in > TEMPLATES (which doesn't know about any of the built-in form templates), > the standalone engine needed to find the built-in templates is ignored. > > I guess it will affect every project that uses the admin. I can't think > of a simple solution other than adding a system check upgrade warning to > detect this situation ('django.contrib.admin' in INSTALLED_APPS but not > 'django.forms') and advise the user to add 'django.forms' to > INSTALLED_APPS. Thoughts?
Yuck. Is there only one admin widget that includes a built-in widget? If so, I think we would maybe be better off just duplicating that one built-in widget in the admin templates. Obviously that's not ideal, but I think it's better than giving up on seamless backward compatibility. Then obviously we need to add a note to the documentation clarifying that if you have any custom form templates that need to include or extend any of the default templates, you should put 'django.forms' in INSTALLED_APPS so all of the templates can be found by the same template engine. This might be another argument in favor of deprecating the fallback and actively pushing people to just get 'django.forms' into their INSTALLED_APPS. But we can wait on that, like you said. Carl -- You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To post to this group, send email to django-developers@googlegroups.com. Visit this group at https://groups.google.com/group/django-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/57394559.70508%40gmail.com. For more options, visit https://groups.google.com/d/optout.