es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , ,

Answer

  1. Avatar for 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 propiedad background-image en el atributo style:

    {% macro pm_card(bg) %}
        <div style="background-image: url('{{bg}}')" class='card-img-top'></div>
    {% endmacro %}
    

    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:

    {{pm_card('../static/images/hm_portrait.jpg')}}
    

    Esto debería renderizar correctamente la macro de Jinja con la URL de la imagen de fondo correcta.

Comments are closed.