我试图将我的路由重新分解并重新构建为views / routes.py,但所有这些路由都使用一个常见的开放cassandra连接。 open表示启动服务器时将连接cassandra连接,并在服务器运行期间保持打开状态。所有路由都将使用连接的连接。我正在考虑蓝图。但是如何重新考虑和重新构建我的代码?
app = Flask(__name__)
dbConnection = None
@app.route('/api/v1/<para1>', methods=['GET', 'OPTIONS'])
@crossdomain(origin="*")
def funnel(para1):
# codes using cassandra Connection
@app.route('/api/v1/xxx/<para2>', methods=['GET', 'OPTIONS'])
@crossdomain(origin="*")
def funnel(para2):
# codes using cassandra Connection
@app.route('/api/v1/yyy/<para3>', methods=['GET', 'OPTIONS'])
@crossdomain(origin="*")
def funnel(para3):
# codes using cassandra Connection
if __name__ == '__main__':
# Connect db connection
app.run(host='0.0.0.0', port=8080, debug=True)
答案 0 :(得分:0)
以下代码似乎有效。但欢迎任何评论。
from flask import Blueprint
class MyBlueprint(Blueprint):
dbconnection = None
def setDb( self, db ):
self.dbconnection = db
my_api = MyBlueprint('my_api', __name__ )
@my_api.route('/api/v1/yyy/<para3>', methods=['GET', 'OPTIONS'])
@crossdomain(origin="*")
def myapi(para3):
# codes using funnel_api.dbconnection
app = Flask(__name__)
cassandraConnection = None
if __name__ == '__main__':
my_api.setDb( cassandraConnection )
app.register_blueprint( my_api )
#SETUP RESOURCE AND START SERVER
app.run(host='0.0.0.0', port=5000, debug=True)