Tengo una aplicación Django completamente desarrollada y decidí agregar DjangoCMS para brindarles a los desarrolladores de contenido una forma rápida de crear prototipos de páginas de destino, etc. Ahora vive en myurl.com/cms y funciona bastante bien. Los chicos pueden crear nuevas páginas, elegir una plantilla y agregar complementos allí.
Cuando vi la etiqueta de la plantilla de marcador de posición, inmediatamente pensé en colocarla en todo el proyecto, fuera del cms, en todos los lugares donde quiero que el equipo del producto pueda agregar y cambiar contenido rápidamente. No quiero que creen una nueva página para esto desde el cms porque tal vez el sitio tiene una funcionalidad compleja que solo se usa una vez en este contexto (es decir, la página de búsqueda).
Básicamente, espero tener marcadores de posición estáticos que pueda colocar en la parte html de la página usando las etiquetas de plantilla de complementos de cms.
Ya encontré marcadores de posición fuera del CMS en los documentos de DjangoCMS. Pero para que esto funcione, tengo que tomar el objeto de marcador de posición relacionado para cada vista que represente una página, lo que aumentaría considerablemente la cantidad de trabajo para "agregar rápidamente un marcador de posición para este texto".
¿Hay una forma fácil de hacer esto? Espero no ser el primero en tener ese problema.
Hay tres tipos de marcadores de posición:
Marcadores de posición de página: declarados mediante {% placeholder %} . Estos solo se pueden usar dentro de una página cms.
Marcadores de posición estáticos: declarados mediante {% static_placeholder %} . No vinculado a páginas u objetos.
Marcador de posición de la aplicación: declarado en su models.py usando PlaceholderField y representado en la plantilla usando {% render_placeholder %}
La regla general es, si está renderizando una página cms, use un marcador de posición de página; de lo contrario, dependiendo de su caso de uso, use un marcador de posición estático.