Python 如何从类中的main访问对象

Python 如何从类中的main访问对象,python,Python,我需要使用从InterestGroupsForm类中的main函数实例化的Flask应用程序,以便访问db 兴趣组窗体类: class InterestGroupForm(FlaskForm, app): c = app.db.cursor() c.execute('SELECT TAG_TITLE FROM TAGS;') primary_tags_list = c.fetchall() print(new_list, file=sys.stderr)

我需要使用从InterestGroupsForm类中的main函数实例化的Flask应用程序,以便访问db

兴趣组窗体类:

class InterestGroupForm(FlaskForm, app):
    c = app.db.cursor()
    c.execute('SELECT TAG_TITLE FROM TAGS;')
    primary_tags_list = c.fetchall()
    print(new_list, file=sys.stderr)
    primary_tags = []
    .....
在主要功能中:

app = Flask(__name__)
app.db = None
app.config['SECRET_KEY'] = 'a hard to guess string'
bootstrap = Bootstrap(app)
moment = Moment(app)
login_manager = LoginManager(app)
login_manager.login_view = 'login'
user_db = {}
我应该能够正常地访问数据库(我在其他地方使用了相同的代码进行查询),但我一直收到一个错误

Traceback (most recent call last): 
File "/home/proj/main.py", line 53, in <module> class InterestGroupForm(FlaskForm, app): 
NameError: name 'app' is not defined 
回溯(最近一次呼叫最后一次):
文件“/home/proj/main.py”,第53行,在课堂兴趣组表单(烧瓶表单,应用程序)中:
NameError:未定义名称“app”

我认为您误解了python类的语法。类名后的括号用于继承,您似乎将其用作构造函数

python类的语法为:

class ClassName(BaseClass):
    def __init__(self, args): # this is the constructor
app
不是一个类。我怀疑你想要这样的东西:

class InterestGroupForm(FlaskForm):
    def __init__(self, app):
        c = app.db.cursor()
        c.execute('SELECT TAG_TITLE FROM TAGS;')
        primary_tags_list = c.fetchall()
        print(new_list, file=sys.stderr)
        primary_tags = []
        .....

但是很难说,因为我不知道新列表是在哪里定义的等等。

显示完整的错误+回溯没有给出太多其他信息:回溯(最近一次调用):文件“/home/proj/main.py”,第53行,在类兴趣组表单(FlaskForm,app):名称错误:名称“app”没有定义