NameError: name 'app' is not defined(关键词:flask/bug)

来源:互联网 发布:pe系统支持网络功能 编辑:程序博客网 时间:2024/05/19 20:41
(venv) henry@henry-virtual-machine:~/dev/myproject/flaskr$ tree.├── flaskr.py├── schema.sql├── static└── templates
# flaskr.pyimport osimport sqlite3from flask import Flask, request, session, g, redirect, url_for, abort, \    render_template, flash# app = Flask(__name__)def connect_db():    rv = sqlite3.connect(app.config['DATABASE'])    rv.row_factory = sqlite3.Row    return rvdef init_db():    with app.app_context():        db = get_db()        with app.open_resource('schema.sql', mode='r') as f:            db.cursor().executescript(f.read())        db.commit()if __name__ == '__main__':    app.run()

运行报错:

Traceback (most recent call last):  File "/home/henry/dev/myproject/flaskr/flaskr.py", line 23, in <module>    app.run()NameError: name 'app' is not defined[Finished in 1.5s]

解决:
添加

app = Flask(__name__)

全部代码:

# flaskr.pyimport osimport sqlite3from flask import Flask, request, session, g, redirect, url_for, abort, \    render_template, flashapp = Flask(__name__)def connect_db():    rv = sqlite3.connect(app.config['DATABASE'])    rv.row_factory = sqlite3.Row    return rvdef init_db():    with app.app_context():        db = get_db()        with app.open_resource('schema.sql', mode='r') as f:            db.cursor().executescript(f.read())        db.commit()if __name__ == '__main__':    app.run()

参考文献:
1.https://stackoverflow.com/questions/29277581/flask-nameerror-name-app-is-not-defined
2.https://stackoverflow.com/questions/21028254/nameerror-name-app-is-not-defined-with-flask
3.https://stackoverflow.com/questions/36215342/flask-nameerror-name-app-is-not-defined

原创粉丝点击