这是我第一次潜入Flask Jinja,但我过去曾经使用过HandlebarsJS,所以我知道这是可能的,但我不知道如何用Flask解决这个问题:
我正在构建一个应用程序:用户输入一个字符串,通过python脚本处理,结果是ajax返回到客户端/ Jinja模板.
我可以使用$(“body”).append(response)输出结果,但这意味着我需要在追加中编写一些讨厌的html.
相反,我想在处理结果后渲染另一个模板,并将新模板附加到原始模板中.
这可能吗?
我的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()
解决方法:
没有关于你的ajax路由必须返回JSON的规则,你可以像对常规路由一样返回HTML.
@app.route('/getColors')
def add_colors():
user = request.args.get("handle", 0, type = str)
return render_template('colors.html',
avatar_url=process_data(data))
您的colors.html文件不需要是完整的HTML页面,它可以是您希望客户端附加的HTML片段.因此,客户端需要做的就是将ajax响应的主体追加到DOM中的相应元素.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。