Renderizando la plantilla de Jinja en el matraz siguiendo la respuesta de ajax

Esta es mi primera inmersión en Flask + Jinja, pero he usado mucho HandlebarsJS en el pasado, así que sé que esto es posible, pero no estoy seguro de cómo hacerlo con Flask:

Estoy creando una aplicación: un usuario ingresa una cadena, que se procesa a través de un script de Python, y el resultado es ajax’d de nuevo a la plantilla cliente / Jinja.

Puedo generar el resultado usando $ (“body”). Append (respuesta), pero esto significaría que necesito escribir algunos html desagradables dentro del apéndice.

En su lugar, me gustaría presentar otra plantilla una vez que se procesa el resultado y agregar esa nueva plantilla en la plantilla original.

es posible?

Mi piton

from flask import Flask, render_template, request, jsonify from script import * app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') @app.route('/getColors') def add_colors(): user = request.args.get("handle", 0, type = str) return jsonify( avatar_url = process_data(data) ) if __name__ == '__main__': app.run() 

No hay ninguna regla acerca de que sus rutas ajax tengan que devolver JSON, puede devolver HTML exactamente como lo hace para sus rutas regulares.

 @app.route('/getColors') def add_colors(): user = request.args.get("handle", 0, type = str) return render_template('colors.html', avatar_url=process_data(data)) 

Su archivo colors.html no necesita ser una página HTML completa, puede ser el fragmento de HTML que desea que el cliente agregue. Entonces, todo lo que el cliente debe hacer es agregar el cuerpo de la respuesta ajax al elemento apropiado en el DOM.