Flask-SQLAlchemy 给出未知错误
Flask-SQLAlchemy Gives Unknown Error
我正在编写一个简单的应用程序来学习 Flask 和 SQLAlchemy 基础知识。目前,我已经定义了我的数据库,没有 SQLAlchemy 组件(没有数据存储),应用程序工作正常。
该应用程序仅在 URL 和 return 中获取一个整数值,同时将用户传递的值与数据库中的时间戳一起存储。
目前,当我查询更新数据库和 return 新值时,我在
db.session.commit()
行。
完整代码:
从烧瓶导入烧瓶
从 flask.ext.sqlalchemy 导入 SQLAlchemy
导入日期时间
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()
对于为什么会发生这种情况,我有两种预感:获取和格式化日期时间存在问题,或者主键生成需要手动完成。但是,我所看到的一切都表明这些都不是问题。提交到我的数据库需要做什么?我应该在单独的文件中完成所有数据库工作吗?
编辑:
调试错误为:
OperationalError: (sqlite3.OperationalError) unable to open database file
确保用户 运行 Flask 脚本具有在 /tmp/test.db
上读写的权限,并且 'sqlite:////tmp/test.db'
.[=12= 中似乎有一个不必要的额外内容]
我正在编写一个简单的应用程序来学习 Flask 和 SQLAlchemy 基础知识。目前,我已经定义了我的数据库,没有 SQLAlchemy 组件(没有数据存储),应用程序工作正常。
该应用程序仅在 URL 和 return 中获取一个整数值,同时将用户传递的值与数据库中的时间戳一起存储。
目前,当我查询更新数据库和 return 新值时,我在 db.session.commit()
行。
完整代码:
从烧瓶导入烧瓶 从 flask.ext.sqlalchemy 导入 SQLAlchemy 导入日期时间
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()
对于为什么会发生这种情况,我有两种预感:获取和格式化日期时间存在问题,或者主键生成需要手动完成。但是,我所看到的一切都表明这些都不是问题。提交到我的数据库需要做什么?我应该在单独的文件中完成所有数据库工作吗?
编辑:
调试错误为:
OperationalError: (sqlite3.OperationalError) unable to open database file
确保用户 运行 Flask 脚本具有在 /tmp/test.db
上读写的权限,并且 'sqlite:////tmp/test.db'
.[=12= 中似乎有一个不必要的额外内容]