Я пишу бэкэнд моего сайта, используя Flask и Python 2.7, и столкнулся с небольшой проблемой. Мне нравится использовать классы, чтобы заключать в свои функции, это делает вещи аккуратными для меня и помогает мне сохранять все модульным. Одна проблема, с которой я столкнулся, заключается в том, что колба, используемая декораторами для маршрутизации, не сохраняет переменную self. Я использую это для доступа к методу loadDb класса, в котором он находится. См. Ниже. У кого-нибудь есть идеи, почему это происходит, и знаете, как я могу это решить, или даже если есть способ решить это?
class Test(object):
blueprint = Blueprint("Test", __name__)
def __init__(self, db_host, db_port):
self.db_host = db_host
self.db_port = db_port
def loadDb(self):
return Connection(self.db_host, self.db_port)
@blueprint.route("/<var>")
def testView(var): # adding self here gives me an error
return render_template("base.html", myvar=self.loadDb().find({"id": var})