Una buena manera de pasar variables para los elementos comunes a las plantillas Mako?

StackOverflow https://stackoverflow.com/questions/1830042

  •  11-09-2019
  •  | 
  •  

Pregunta

Estoy usando características de herencia de Mako objeto de eliminar los elementos de página comunes, como un encabezado y pie, en una plantilla "base.mako". controladores específicos de la página utilizan sus propias plantillas, que heredan base.mako.

base.mako necesita un conjunto de variables - por ejemplo, el nombre del usuario que ha iniciado la sesión va en la cabecera de todas las páginas. Sin embargo, es el controlador de página individual que selecciona y hace que la plantilla, y es por lo tanto responsable de pasar las variables a ella.

Yo prefiero todos esos controladores página no tengo que saber lo que necesita la plantilla base en su contexto. ¿Qué es una buena manera de establecer el contexto de la plantilla base en una situación como esta?

Gracias de antemano!

¿Fue útil?

Solución

Usted tiene dos opciones de diseño orientado a objetos para sus controladores de página.

Las características comunes pueden ser manejados de dos maneras.

  • Herencia. Todos los controladores de página son subclases de una clase común que proporciona los atributos comunes.

  • Delegación. Todos los controladores de página son parte de una tubería donde algunos proceso común (ya sea antes o después de que el controlador de la página) se pliega en la información adicional.

Usted tiene que elegir uno.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top