Rajage du modèle Jinja dans Flask suite à une réponse ajax

C'est ma première plongée dans Flask + Jinja, mais j'ai utilisé beaucoup de HandlebarsJS dans le passé, alors je sais que cela est possible, mais je ne suis pas sûr de savoir comment tirer cela avec Flask:

Je crée une application: un utilisateur saisit une chaîne, qui est traitée via un script python, et le résultat est ajax'd revenir au modèle client / Jinja.

Je peux générer le résultat en utilisant $ ("corps"). Ajouter (réponse), mais cela signifie que j'ai besoin d'écrire un html désagréable dans l'ajout.

Au lieu de cela, j'aimerais rendre un autre modèle une fois le résultat traité et ajouter ce nouveau modèle dans le modèle d'origine.

Est-ce possible?

My python:

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() 

Il n'y a aucune règle quant à l'opportunité de retourner vos routes ajax JSON, vous pouvez renvoyer HTML exactement comme vous le faites pour vos itinéraires réguliers.

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

Votre fichier colors.html n'a pas besoin d'être une page HTML complète, il peut s'agir du fragment de HTML que vous voulez que le client ajoute. Ensuite, tout le client doit faire pour ajouter le corps de la réponse ajax à l'élément approprié dans le DOM.