Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

548
Visualizações
¿Cómo devolver render_template en Flask?

El siguiente código funciona perfectamente desde el archivo .py pero quiero separar el HTML y ponerlo en templates/index.html.

Supongo que tengo que usar la función render_template en Flask para poder devolver los mismos resultados.

 # File dynamic_website.py from owlready2 import * onto = get_ontology("bacteria.owl").load() from flask import Flask, url_for app = Flask(__name__) @app.route('/') def ontology_page(): html = """<html><body>""" html += """<h2>'%s' ontology</h2>""" % onto.base_iri html += """<h3>Root classes</h3>""" for Class in Thing.subclasses(): html += """<p><a href="%s">%s</a></p>""" % (url_for("class_page", iri = Class.iri), Class.name) html += """</body></html>""" return html

Creé una plantilla de carpeta y un archivo index.html. Usé return render_template('index.html') pero no funciona. ¿Qué argumentos tengo que agregar a la función return_template? "for Class in Thing.subclasses():" tiene que estar en el archivo .html o en el archivo .py? ¿Qué pasa con la función url_for?

Si pudiera editar el código .py y decirme qué debo escribir exactamente en el archivo index.html para obtener los mismos resultados, sería genial.

ACTUALIZAR:

Que he hecho:

código pitón

 from flask import Flask, render_template from owlready2 import * from flask import Flask, url_for onto = get_ontology("bacteria.owl").load() app = Flask(__name__) @app.route("/") def ontology_page(): for Class in Thing.subclasses(): return render_template('index.html')

Código HTML

 <!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title></title> </head> <body> <h1>{{ Class.name }}</h1> </body> </html>
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

No puede devolver una función varias veces. Lo que se devuelve, es el valor de la función. Este tutorial está en JS, pero implica el mismo concepto que Python.

Si desea que el usuario vea una lista de cosas en el html, haga esto. render_template('index.html', things=Thing.Subclasses()) Esto le dará a Jinja una lista, donde luego puede for loop.

Para html puedes hacer esto {% for s in things %} {{ s }} is something {% endfor %} . Sin embargo, haga lo que quiera con s , s es una subclase de la lista.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda