팀프로젝트를 하던 중 json으로 넘겨서 javascript로 처리를 하는 구문을
jinja2 방식으로 바꾸기 위해 render_template로 처리를 해야만 했다.
하지만 jinja2와 render_template 둘다 사용할 수 있는 방법이 없을지 찾아보던 도중
스택오버플로우에선 api호출과 web호출을 구분하는 방식을 제시했다.
방법1)
@app.route("/result", methods=['POST', 'GET'])
def result():
if request.method == 'POST':
query = request.form['query']
response = MyService.retrieve_response(query)
if request.headers['Content-Type'] == 'application/json':
return jsonify(...)
return render_template("index.html", value=response)
방법1)
@app.route("/web/result")
def result_html():
response = MyService.retrieve_response()
return render_template("index.html", value=response)
@app.route("/api/result")
def result_json():
response = MyService.retrieve_response()
return jsonify(response)
사실 결과적으로는 내가 원하던 방식은 아니었지만😅
추후 쓰일 수 있는 방법인 것 같아 기록해두기!