id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 24783,Template libraries and built-ins should be registered through the engine,Preston Timmons,Preston Timmons ,"Django template libraries and builtins depend on global variables in `django.template.base`. This is messy, but also restrictive. The only way to specify template tag modules is by adding a package in `INSTALLED_APPS` that has a `templatetags` directory. Modifying `builtins` is a hack. And the `LoadNode` has a hard dependency on `django.apps`. Preferably, libraries and builtins should be specified and live on the `Engine` instance instead. I think this can be cleaned up by having libraries and builtins configured via the `DjangoTemplates` backend. This would build on Mark Tamlyn's idea in #12772: {{{ TEMPLATES = [ { ... 'OPTIONS': { 'libraries': { 'admin.urls': 'django.contrib.admin.templatetags.admin_urls', 'my_tags': 'path.to.some.module', }, 'builtins': { 'path.to.builtins_module', } }, }, ] }}}",New feature,closed,Template system,dev,Normal,fixed,,andrei.avk@…,Ready for checkin,1,0,0,0,0,0