Метод setup класса Plugin
Метод setup применяется к объекту плагина и вызывается
один раз при применении плагина к приложению. Первым
параметром передаётся экземпляр приложения Bottle, к которому
применяется плагин. Внутри метода можно сохранять ссылку на
приложение, инициализировать ресурсы и выполнять подготовку,
необходимую для последующей обработки запросов. Метод не
возвращает значимого значения.
Синтаксис
class Plugin(object):
def setup(self, app):
pass
Пример
Давайте создадим простой плагин, который сохраняет
приложение в атрибуте app при вызове метода
setup:
from bottle import Bottle
class MyPlugin(object):
def setup(self, app):
self.app = app
print('plugin configured')
app = Bottle()
app.install(MyPlugin())
@app.route('/')
def index():
return 'hello'
Результат выполнения кода при установке плагина:
"plugin configured"
Пример
Давайте внутри метода setup создадим словарь
для хранения данных, который затем используется в
методе apply:
from bottle import Bottle
class CachePlugin(object):
def setup(self, app):
self.app = app
self.cache = {}
def apply(self, callback, route):
def wrapper(*args, **kwargs):
return callback(*args, **kwargs)
return wrapper
app = Bottle()
app.install(CachePlugin())
@app.route('/')
def index():
return 'abcde'
Результат выполнения кода для адреса /:
<+html+>
abcde
<-html+>