对API的第一个请求使错误,第二个很好

时间:2018-12-22 21:13:01

标签: python mysql flask

我正在用Flask编写api,并希望在mysql中收集数据,但是当我发送第一个请求时,我得到了错误并且没有保存在数据库中,对相同URL的第二个请求就可以了,并将数据保存在数据库中。

错误代码: https://imgur.com/a/gE6B4fH

预期结果: https://imgur.com/a/abaM6iO

我正在使用来自docker的mysql:8.0.2、1.0.2版的python flask和python 3.7.1,PyMySQL的0.9.3版

config.py

if(mode == 1){

初始化 .py

class Config:
    SQLALCHEMY_DATABASE_URI = 
'mysql+pymysql://root:helon2001@127.0.0.1:3306/Restaurant'
    SQLALCHEMY_TRACK_MODIFICATIONS = False

models.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from api.config import Config
import pymysql
db = SQLAlchemy()

def create_app(config_class=Config):
    app = Flask(__name__)
    app.config.from_object(Config)
    db.init_app(app)
    from api.main import main_bp
    app.register_blueprint(main_bp,url_prefix="/api")
    return app

run.py

from api import db


class User(db.Model):
        __tablename__ = 'users'

        id = db.Column(db.Integer, primary_key = True)
        username = db.Column(db.String(120), unique = True, nullable = False)
        password = db.Column(db.String(120), nullable = False)
        def save_to_db(self):
            db.session.add(self)
            db.session.commit()

routesModels.py

from api import create_app

app = create_app()

if __name__ == "__main__":
    app.run(debug=True)

我希望第一个请求没有输出错误,但可以正常输出作为第二个请求。

0 个答案:

没有答案