我正在读一本关于flask开发的书,我对python基本上还是个新手。在
文件布局:
Project
|
|-- App
| |-- __init__.py
| |-- models.py
|
| main.py
__init__.py
内的代码:
我一直在研究这个站点上其他人的问题,主要是here,我发现我使用了with app.app_context()
,并且在没有使用{
这是我的models.py
文件:
from . import db
class User(db.Model):
__tablename__ = 'Users'
account_id = db.Column(db.Integer, primary_key=True)
personaname = db.Column(db.String(50), unique=False)
steamid = db.Column(db.String(64))
avatar = db.Column(db.String(200))
profileurl = db.Column(db.String(128))
is_personaname_real = db.Column(db.Integer)
def __repr__(self):
return '<User {0}>'.format(self.personaname)
然后我运行main.py
中的代码,它只是:
from app import create_app
app = create_app()
如果我将User
类移到__init__.py
函数中,一切都会创建得很好。但是,当User
类在它自己的文件中时,数据库是空的。我尝试过使用其他导入方式,可能是From app.__init__.py Import db
,但也没有用。在
这应该行得通,似乎你缺少if语句
由于直接在
__init__.py
中定义模型,因此需要将模型导入__init__.py
。在您可以在创建
__init__.py
之后的__init__.py
中添加导入:这很管用,但对我来说,这是可怕的错误和肮脏。我不太了解烧瓶,但这个答案表明这对烧瓶来说是正常的:https://stackoverflow.com/a/19008403/21945
相关问题 更多 >
编程相关推荐