from flask import Flask, request, render_template class MyPlugin(Flask): def __init__(self, import_name): super(MyPlugin, self).__init__(import_name) from myplugin import MyPlugin app = Flask(__name__) myplugin = MyPlugin(__name__) app.register_blueprint(myplugin) @myplugin.route('/myplugin') def myplugin_route(): return "Hello from MyPlugin!" app.config['MYPLUGIN_OPTION'] = 'value' # myplugin.py from flask import Flask, Blueprint class MyPlugin(object): def __init__(self, import_name): self.app = Flask(import_name) self.blueprint = Blueprint('myplugin', import_name) self.app.register_blueprint(self.blueprint) def route(self, url): def decorator(func): self.app.add_url_rule(url, view_func=func) return func return decorator def hello(self): return "Hello from MyPlugin!" myplugin = MyPlugin(__name__) @myplugin.route('/myplugin') def myplugin_route(): return myplugin.hello() # main.py from flask import Flask from myplugin import myplugin app = Flask(__name__) app.register_blueprint(myplugin.blueprint) app.config['MYPLUGIN_OPTION'] = 'value' if __name__ == '__main__': app.run()


上一篇:
下一篇:
切换中文