python烧瓶中的模块化路线

时间:2015-12-16 22:23:25

标签: python flask

我正在尝试使用一项服务来完成两项相关功能。我希望我的REST api能有这样的东西:

/route1/get/as_text

/route2/get/as_json

在nodejs中,您可以通过以下方式传递来自某个基本URL的路径集合:

app.use('/route1/', route1.js)
app.use('/route2/', route2.js)

然后route1.js将有如下定义的路由:

app.router('/as_text', function(){//some stuff})

当我这样做时,可以定义一组路由,这些路由都有/route1/作为URL的基础。我想在flask中做类似的事情,我只是定义url的第一部分,并将API的该部分的所有逻辑添加到与api的另一部分分开的文件中。

这可能在烧瓶中吗?或者我应该寻找新的方法吗?

1 个答案:

答案 0 :(得分:1)

您想要查看Blueprints

定义应用程序时,可以使用路径前缀

注册蓝图
app = Flask(__name__, template_folder='views')
app.register_blueprint(controllers.route1, url_prefix="/route1")
app.register_blueprint(controllers.route2, url_prefix="/route2")

然后在单独的文件中定义这些路径的控制器。

route1 = Blueprint('route1', __name__, template_folder='views')

@route1.route('/get/as_text',methods=['GET'])
def get_as_text_route():

    return json.jsonify(data="my data")

您还可以签出Flask Restful以使用Flask创建REST API。