Cargue una biblioteca de tags de plantilla de Django para todas las vistas de manera predeterminada

Tengo una pequeña biblioteca de plantillas tipográficas relacionadas que uso en casi todas las páginas. Ahora mismo necesito cargarlo para cada plantilla usando

{% load nbsp %} 

¿Hay alguna manera de cargarlo “globalmente” para todas las vistas y plantillas a la vez? Poner la etiqueta de carga en una plantilla base no funciona.

Hay un método django.template.loader en django.template.loader . Simplemente páselo por el nombre de tu módulo templatetags (como una cadena).

 from django.template.loader import add_to_builtins add_to_builtins('myapp.templatetags.mytagslib') 

Ahora mytagslib está disponible automáticamente en cualquier plantilla.

Cambiará con la versión Django 1.9.

Desde 1.9, el enfoque correcto será configurar las tags de plantilla y los filtros bajo la clave builtins de OPTIONS – vea el ejemplo a continuación:

 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'builtins': ['myapp.builtins'], }, }, ] 

Detalles: https://docs.djangoproject.com/en/dev/releases/1.9/#django-template-base-add-to-builtins-is-removed

En django 1.7 simplemente reemplace por from django.template.base import add_to_builtins

En Django 1.9 hay un diccionario de libraries de tags y rutas de Python con puntos de módulos de tags de plantilla para registrarse con el motor de plantillas. Esto se puede usar para agregar nuevas bibliotecas o proporcionar tags alternativas para las existentes.

 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], 'libraries': { # Adding this section should work around the issue. 'custom_tags' : 'myapp.templatetags.custom_tags',#to add new tags module. 'i18n' : 'myapp.templatetags.custom_i18n', #to replace exsiting tags modile }, }, }, ]