Tengo un dato común {el número de mensaje del usuario conectado) para mostrar en cada página. Puedo pasar simplemente a la plantilla comoCómo pasar datos comunes del diccionario a cada página en django
dict={'messagenumber':5}
return render_to_response('template.html',dict,context_instance=RequestContext(request))
Pero parece tedioso si tengo este pase de datos dict a la misma página. ¿Hay alguna manera más fácil de pasar datos comunes a cada página?
Gracias
dos notas: 1) que necesitará tener django.contrib.auth.middleware.AuthenticationMiddleware en sus MIDDLEWARE_CLASSES de ajuste con el fin de request.user para trabajar. 2) Solo las plantillas renderizadas con instancias django.template.RequestContext como contexto tendrán procesadores de contexto aplicados. –
gracias, un par de preguntas más. *) ¿Puedo poner este método en cualquier lugar (en cualquiera de mis archivos de vista)? *) Agregando este procesador como 'myproject.myapp.myview.messagenumber_processor'? y *) ¿Cómo llamar a estos datos en la plantilla? request.messagenumber_processor? – icn
@Joseph Puntos válidos, que figuran en los enlaces que publiqué, ¡pero gracias! @xlione Usted técnicamente puede ponerlo aquí dentro de su proyecto, pero se recomienda colocarlo en un 'context_processors.py' para la aplicación que estos procesadores de contexto manejarán. Para llamar los datos en su plantilla, haga referencia al dict que devuelve en el procesador de contexto. Por ejemplo, en mi ejemplo si pongo '{{número_de_mensaje}}' en mi plantilla, se obtendría '5' suponiendo que conecté correctamente mi procesador de contexto. – Bartek