Flask-SQLAlchemy Gives Unknown Error
我正在编写一个简单的应用程序来学习烧瓶和SQLAlchemy基础知识。目前,我已经定义了我的数据库,如果没有sqlachemy组件(没有数据存储),这个应用程序可以正常工作。
应用程序只需在URL中接受一个int并返回双倍的值,同时将用户传递的值和时间戳存储在数据库中。
目前,当我进行更新数据库并返回新值的查询时,我在db.session.commit()。
线。
完整代码:
从烧瓶进口烧瓶从flask.ext.sqlAlchemy导入sqlAlchemy导入日期时间
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db' db = SQLAlchemy(app) class Call(db.Model): id = db.Column(db.Integer, primary_key=True) call_value = db.Column(db.Integer) call_time = db.Column(db.Integer) def __init__(self,user_input): self.call_value = user_input self.call_time = datetime.datetime.now() def __repr__(self): return '<Doubled %r>' % self.call_value @app.route('/doubler/<int:val>', methods=['GET']) def show_double(val): query = Call(val) db.session.add(query) db.session.commit() return"Value:" + str(2*val) if __name__ =="__main__": app.run() |
我有两种预感来解释为什么会发生这种情况:获取和格式化日期时间有问题,或者需要手动生成主键。然而,我所看到的一切都表明这两者都不是问题。提交到我的数据库需要做什么?我应该在一个单独的文件中完成所有的数据库工作吗?
编辑:
调试错误为:
1 | OperationalError: (sqlite3.OperationalError) unable to open database file |
确保运行flask脚本的用户具有在