Flask 调用另一个路由以获取数据

Flask 调用另一个路由以获取数据,flask,flask-sqlalchemy,Flask,Flask Sqlalchemy,My flask应用程序定义了以下路径: @app.route('/logs', methods=['GET', 'POST']) def log_collection(): if (request.method == 'GET'): query = db.session.query(LogData) return jsonify([log.to_dict() for logs in query.all()]) 然后我定义了第二条路线: @a

My flask应用程序定义了以下路径:

@app.route('/logs', methods=['GET', 'POST'])
def log_collection():
    if (request.method == 'GET'):
    
        query = db.session.query(LogData)

        return jsonify([log.to_dict() for logs in query.all()])
然后我定义了第二条路线:

@app.route('/display_logs')
def logs():
    # Call /logs endpoint to get data
    return render_template('display_logs.html', data = logs)
在Flask中是否有方法从/display_logs调用/logs端点并获取所有数据?

我发现这个方法更干净:

def fetch_logs():
    query = db.session.query(LogData)
    return [_log.to_dict() for _log in query.all()]

@app.route('/logs_ajax', methods=['GET', 'POST'])
def logs_ajax():
    if (request.method == 'GET'):
        return jsonify(fetch_logs())


@app.route('/logs_view')
def logs_view():
    return render_template('display_logs.html', data = fetch_logs())

您可以直接调用
log\u collection()
inside
logs()
方法

@app.route('/display_logs')
def logs():
    logs = log_collection()
    return render_template('display_logs.html', data = logs)
You can call the log_collection function in a variable under /display_logs endpoint which it will return the data fetched under /logs

@app.route('/logs', methods=['GET', 'POST'])
def log_collection():
    if (request.method == 'GET'):
    
        query = db.session.query(LogData)

        return jsonify([log.to_dict() for logs in query.all()])

@app.route('/display_logs')
def logs():
    fetchLog = log_collection()
    return render_template('display_logs.html', data = fetchLog)