为了账号安全,请及时绑定邮箱和手机立即绑定

为什么重启flask服务器后数据库数据被删除?

为什么重启flask服务器后数据库数据被删除?

ITMISS 2023-12-29 16:33:59
最近,我开始使用flask。我发现flask-sqlalchemy可以与flask一起使用。所以我就用这个。但我遇到了一些问题。我正在研究 repl.it。当 repl 进入休眠状态时,我尝试使用启用了 Flask 的网站。但看到没有数据显示。但在此之前我添加了很多数据。我不知道出了什么问题,但你能帮我吗?它可能会帮助你:from flask_sqlalchemy import SQLAlchemyimport refrom flask import Flask, abort, jsonify, redirect, requestimport osapp = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite3'app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = Falsedb = SQLAlchemy(app)class apikey(db.Model):  apikey = db.Column(db.String(25), primary_key=True, unique = True)    def __init__(self, apikey):    self.apikey = apikeyclass shorturl(db.Model):  short_query = db.Column(db.String(15), primary_key=True, unique = True)  original = db.Column(db.String(1000))  visits = db.Column(db.Integer)    def __init__(self, short_query,original, visits):    self.short_query = short_query    self.original = original    self.visits = visits  def url_valid(url):    return re.match(regex, url) is not Nonedef bad_request(message):    response = jsonify({'message': message})    response.status_code = 400    return responsedef errreq(message):  response = jsonify({'message': message})  response.status_code = 404  return response@app.route('/')def show_all():    return redirect("https://www.cburst.ml", code=301)@app.route('/addapi', methods=['GET'])def addapi():  if request.args.get('apikey') is not None:    api_key = request.args.get('apikey')    apiadd = apikey(apikey=api_key)    db.session.add(apiadd)    db.session.commit()    return jsonify({'message':"Done"}), 200  else:    return bad_request("Nothing Provided")@app.route('/add', methods=['POST'])def add():  if not request.json:    return bad_request('Url must be provided in json format.')  if "original" not in request.json :    return bad_request('Url parameter not found.')  if "short_query" not in request.json:    return bad_request('Url parameter not found.')在这里,如果我在 /appapi 中添加 api 密钥以及查询字符串中的密钥,我可以在数据库中添加该密钥。但添加到数据库中的密钥在几个小时后不起作用。
查看完整描述

1 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

我明白了这一点。这是因为我在 main 函数中添加了 db.create_all() 。删除这个就可以了。



查看完整回答
反对 回复 2023-12-29
  • 1 回答
  • 0 关注
  • 42 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信