2016-10-19 1 views
0

Ich versuche, meine Routen in views/routes.py neu zu faktorieren und neu zu strukturieren, aber alle diese Routen verwenden eine gemeinsame offene Cassandra-Verbindung. Offen bedeutet, dass die Cassandra-Verbindung beim Starten des Servers verbunden wird und während des laufenden Servers geöffnet bleibt. Die verbundene Verbindung wird von allen Routen verwendet. Ich denke über Blaupausen nach. Aber wie kann ich meine Codes umstellen und neu strukturieren?Flaschrouten neu strukturieren, die gemeinsame offene db-Verbindung teilen

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

http://flask-sqlalchemy.pocoo.org/ – davidism

+0

@davidism Ich bin mit cassandra, sorry dafür – BAE

+0

Nun, tun Sie das gleiche, was diese Erweiterung tut, aber für Cassandra. – davidism

Antwort

0

Die folgenden Codes scheinen zu funktionieren. Aber alle Kommentare wurden begrüßt.

myblueprint.py

from flask import Blueprint 

class MyBlueprint(Blueprint): 
    dbconnection = None 
    def setDb(self, db): 
     self.dbconnection = db 

myview.py

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.py

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) 
Verwandte Themen