2012-07-20 7 views
5

He creado una vista que muestra una vista previa de otras plantillas. Quiero mostrar las etiquetas vacías dentro de las plantillas, por lo que he incluidoHabilite el TEMPLATE_STRING_IF_INVALID de django en un único método

TEMPLATE_STRING_IF_INVALID = '%s' 

... en mi archivo settings.py. Sin embargo, solo me gustaría habilitar esta configuración para una vista particular, no globalmente en mi aplicación.

Gracias de antemano. :)

Respuesta

1
from django.conf import settings 

def myview(request): 
    settings.TEMPLATE_STRING_IF_INVALID = '%s' # '%s' will get expanded to the variable name that was not found 
    ... 
    template = render(request, 'myview.html', {}) 
    settings.TEMPLATE_STRING_IF_INVALID = '' 
    return template 

Tenga en cuenta que esto es feo. Si otro usuario solicita una página diferente en el corto tiempo antes de restablecer el TEMPLATE_STRING_IF_INVALID de nuevo a '', es posible que vea que se muestran etiquetas no válidas. El Django docs say specifically NOT to do this, pero también hay un open ticket que sugiere que podría estar bien para algunas configuraciones.

Esperemos que alguien más inteligente vendrá y dará una mejor solución.

Cuestiones relacionadas