python - Flask-SQLAlchemy & Google App Engine - 没有写权限
问题描述
主文件
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SECRET_KEY'] = '123'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
class User(db.Model):
__table_name__ = 'user'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True)
password = db.Column(db.String(80))
def __init__(self, username, password):
self.username = username
self.password = password
@app.route('/register/', methods=['GET', 'POST'])
def register():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
"""Check username is available"""
data = User.query.filter_by(username=username).first()
if data is None:
new_user = User(username=username, password=password)
db.session.add(new_user)
db.session.commit()
return redirect(url_for('login'))
return render_template('register2.html')
return render_template('register1.html')
我通过 Google App Engine 部署了我的网络应用程序,但是当我尝试注册时,我目前在 Google App Engine 上遇到操作错误。
OperationalError: (sqlite3.OperationalError) 尝试写入只读数据库
似乎文件在 Google App Engine 存储中是只读的。
有没有办法在 GAE 中编写 .db 文件?
解决方案
推荐阅读
- scala - 如何在scala中使用withColumn函数将可变列表添加为数据框的列
- java - 如何在java中使用反射将对象传递给方法
- intellij-idea - 类似于 IntelliJ 如何以蓝色显示未提交的更改,是否有类似的方式来显示最后一次提交的更改?
- ios - Swift Combine 不会通过接收器更新值
- python - 如何监控多个进程并在一个退出时启动新的进程?
- c# - Excel 数据阅读器:变量列表使用 Clear() 方法丢失列表内容
- javascript - 如何获取对象内部的值?
- javascript - 奇怪的警告:已声明但它的值从未被读取
- javascript - Google App脚本根据该单元格的字体颜色清除单元格值
- xcode - Xcode 10.3 不适用于 MacOS Big Sur 11.0.1(非测试版)