2016-09-30 3 views
0

Gibt es eine Möglichkeit, die Routen in einem Blueprint zu definieren? Ich weiß das (http://flask.pocoo.org/snippets/117/) Snippit existiert, erfordert aber, dass die App initialisiert wird, um url_map zu verwenden. Gibt es eine Möglichkeit, die Routen ohne eine Anwendung zu sehen? Ich entwickle eine API mit Flaschenturm und ich möchte die Routen innerhalb des Blueprints ohne die App anzeigen, um sie eigenständig zu halten.Aus einer Blaupause flasch-erholsame Routen erstellen

+0

auf die URLs Um die App ausgeführt werden muss. Um aus dem Blueprint darauf zuzugreifen, können Sie 'from flask import current_app' verwenden und das Snippet verwenden, auf das Sie verwiesen haben, indem Sie' app' durch 'current_app' ersetzen. – rtzll

+0

Vielleicht hilft diese Antwort auch: http://stackoverflow.com/questions/39769666/flask-how-to-use-app-context-inside-blueprints/39777428#39777428 – rtzll

Antwort

0

die von polyfunc bereitgestellten Informationen verwenden, konnte ich mit dieser Lösung kommen:

from flask import Blueprint, current_app, url_for 
from flask_restful import Resource, Api 

api_blueprint = Blueprint('api', __name__) 
api = Api(api_blueprint) 

@api.resource('/foo') 
class Foo(Resource): 
    def get(self): 
     prefix = api_blueprint.name + '.' # registered classes will have this as their prefix 

     # Get current rules 
     rules = current_app.url_map.iter_rules() 

     # Get list from routes registered under the blueprint 
     routes = [url_for(rule.endpoint) for rule in rules if rule.endpoint.startswith(prefix)] 
Verwandte Themen