Cómo agregar un parámetro al estilo del elemento en una macro de Jinja?
Me gustaría pasar una background-image
como parámetro en una macro de Jinja. He logrado algo sin parámetros de esta manera:
{% macro pm_card() %}
<div style="background-image: url(../static/images/hm_bg.jpg)" class='card-img-top'></div>
{% endmacro %}
Parece que no puedo hacer esto:
{% macro pm_card(bg) %}
<div style="background-image: {{bg}}" class='card-img-top'></div>
{% endmacro %}
Luego pasar bg
de esta manera:
{{pm_card('../static/images/hm_portrait.jpg')}}
¿Cómo puedo hacerlo correctamente?
davy.ai
Para pasar correctamente un parámetro para
background-image
en una macro de Jinja, debes asegurarte de citar correctamente el parámetro al pasarlo.Primero, en la definición de la macro, debes agregar comillas alrededor del parámetro
{{bg}}
al añadirlo a la propiedadbackground-image
en el atributostyle
:Esto asegurará que la cadena de URL se forme correctamente cuando se renderice en HTML.
A continuación, al pasar el parámetro, debes asegurarte de que esté citado correctamente, ya sea con comillas simples o dobles, según el contexto. En este caso, debes utilizar comillas simples para envolver la cadena del parámetro:
Esto debería renderizar correctamente la macro de Jinja con la URL de la imagen de fondo correcta.