提问者:小点点

跟踪(最近的最后一次调用):文件“<stdin>”,第1行,在<module>nameerror中:未定义名称“db”


'''从flask导入db.py导入flask,render_template from flask_sqlalchemy导入SQLAlchemy from datetime导入datetime

app =Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///posts.db'


class Question(db.model):
     id = db.Column(db.Integer, primary_key=True)
     title  = db.Column(db.String(100), nullable=False)
     content = db.Column(db,Text, nullable=False)
     Date_Posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)

     def __repr__(self):
         return 'Question' + str(self.id)


@app.route('/mainpage' , methods = ['GET'])
def mainpage():
    return render_template("main.html")

@app.route('/askdaiwik')
def ask():
    return render_template("ask.html" , ask = all_ask)

if __name__ == "__main__":
    app.run(debug=True)

'''


共2个答案

匿名用户

如果我没有看错,您正在尝试将SQLAlchemy对象用作db。 但是您没有创建对象,因此db是未定义的。

SQLAlchemy包装应用程序以创建对象并将变量db分配给实例。

db = SQLAlchemy(app) 

匿名用户

在db.py中,您可以存储代码db=SQLAlchemy()。

然后将其导入到app.py中。 现在你可以给DB打电话了。

或者只删除db=sqlalchemy(APP)中的APP