我正在使用一个简单的模板渲染使用烧瓶 . 同时,我使用flask作为chatbot的 endpoints .
来自main.py的摘录:
from flask import Flask, request, redirect, render_template, make_response
import urllib
import json
app = Flask(__name__)
app.debug = True
@app.route("/", methods=['POST'])
def webhook():
req = request.get_json(silent=True, force=True)
res = makeWebhookResult(req)
res = json.dumps(res, indent=4)
r = make_response(res)
r.headers['Content-Type'] = 'application/json'
return r
def makeWebhookResult(req):
url_prod="picture.jpg"
if req.get("result").get("action") == "action.prod":
result = req.get("result")
parameters = result.get("parameters")
prod = parameters.get("products")
speech = "what I want to say is... " + prod
render_template('hello.html', name=url_prod)
else:
return {}
return {
"speech": speech,
"displayText": speech,
"source": "apiai-demo"
}
我的hello.html:
width="350"
height="430"
src="https://xxxxxx"
我的问题是,对于 endpoints ,我需要返回json数据,同时我想更新html文件的模板 . 由于render_template不在return函数中,因此直接调用render_template('hello.html',name = url_pic1)不起作用 . 如何调用render_template并同时允许flask返回json的回复?希望我很清楚 . 谢谢