В общем что я хочу - подставить декоратору роута
@route('/hello')
test.test_method()
не функцию, а вызов метода на объекте класса. Для пример чуток кода:
from bottle import route, run
class test():
def g_test(self):
return "<h1> Hello from test method! </h1>"
t = test()
@route('/test')
t.g_test()
run(host='localhost', port=8080)
Но тут я получаю синтаксический эррор
Ок, если декорировать сам метод:
from bottle import route, run, template
class test():
@route('/hello')
def getRes(self=None):
return "<h1> Hello from test method! </h1>"
t = test()
run(host='localhost', port=8080,debug=True)
Все сработает, но Self не определен, а без него никакого смысла... Неужели эту ситуацию не исправить?
Я лично вижу только 2 варианта и оба "кривые"
1 - Развернуть декоратор:
app.route('/', method='GET', callback=t.getRes())
2 - Обернуть вызов метода в функцию
@route('/test')
def view():
t = test()
return t.getRes()
Есть ли нормальный способ использовать методы класса?