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.

Los operadores de plantillas de Jinja (cómo utilizar una función sin imprimirla en la página del sitio web)

Entonces, aquí hay una parte del código (la línea 7 es el punto), donde quiero saber cómo puedo sacar un elemento de la lista en cada iteración, evitando imprimirlo en la página del sitio web?

{% macro obtener_solucion() %}
    {% set args = varargs|list %}
    {% for i in range(varargs|length) %}
        {% if args|sum|string in kwargs %}
            {{ loop.index }} - {{ kwargs[args|sum|string] }}
        {% endif %}
        {{ args.pop() }}
    {% endfor %}
{% endmacro %}

{{ obtener_solucion(args, *kw) }}

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para eliminar un elemento de la lista en cada iteración sin imprimirlo en la página web, simplemente puedes utilizar el método pop() de Python en la lista args dentro del bloque del bucle for. Sin embargo, simplemente puedes agregar un signo menos antes de la línea {{ args.pop() }} para ignorar la salida.

    Aquí tienes el código modificado que muestra la solución:

    {% macro get_solution() %}
        {% set args = varargs|list %}
        {% for i in range(varargs|length) %}
            {% if args|sum|string in kwargs %}
                {{ loop.index }} - {{ kwargs[args|sum|string] }}
            {% endif %}
            {# eliminar un elemento de la lista en cada iteración #}
            {# sin imprimirlo en la página web #}
            -{{ args.pop() }}
        {% endfor %}
    {% endmacro %}
    
    {{ get_solution(*args, **kw) }}
    

    Con el código modificado anteriormente, se eliminará un elemento de la lista args en cada iteración, pero no se imprimirá en la página web debido al signo de menos que lo precede.

Comments are closed.