Quiero apuntar a un archivo HTML diferente basado en una variable. Estoy usando incluir en el siguiente formato:Usar incluir para señalar dinámicamente a HTML
{% include 'templates/case/{{cid}}/intro.html' %}
Esto genera un error:
TemplateNotFound: templates/case/{{cid}}/intro.html
En cuanto a esto sé Jinja2 no resuelve la variable en tiempo de ejecución. El valor de cid = ABC
(ABC es el nombre de una carpeta de la ruta), por lo que espera que la trayectoria total asciende a:
templates/case/ABC/intro.html
Si utilizo este camino resuelta directamente en include funciona.
¿Cómo puedo resolver esto?
Thomas, gracias por la respuesta. Si me refiero a que paso la ruta completa en una variable: vid = 'templates/case/{{cid}}/intro.html' y luego la uso en el inclide .... {% include '{{vid}}' %}. Intenté eso ... esto da el mismo error ... TemplateNotFound. – Utpal
@Utpal ¿Intentó eliminar el '{{}}' y simplemente usó {% include vid%}? Aunque podría estar fuera, no he usado a Jinja por un tiempo, pero espero que funcione de manera similar a django en ese sentido. Es posible que desee verificar esta pregunta similar: http://stackoverflow.com/questions/6101864/dynamic-use-of-templates-in-jinja2 –
Gracias Thomas Ton. Eliminar el '{{}}' funciona perfectamente. Sin embargo, verificaría los "ataques de ruta cruzada" de los que me advertiste. – Utpal