使用flask-sqlalchemy操作mysql數據庫時,注冊頁面填寫的信息無法添加到mysql數據庫中。代碼如下:db2.pyfromflaskimportFlaskfromflask_sqlalchemyimportSQLAlchemyimportpymysqlapp=Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI']='mysql+pymysql://comejack:123456@localhost:3306/flask'db=SQLAlchemy(app)classUser(db.Model):__tablename__='user'id=db.Column(db.Integer,primary_key=True)username=db.Column(db.String(80),unique=True,nullable=False)password=db.Column(db.String(80),nullable=False)email=db.Column(db.String(120),unique=True,nullable=False)def__repr__(self):return''%self.usernamedb.create_all()forms.pyfromwtforms.fieldsimportBooleanField,TextField,StringField,PasswordField,SubmitFieldfromwtformsimportvalidatorsfromwtforms.validatorsimportDataRequiredfromflask_wtfimportFlaskFormclassRegForm(FlaskForm):username=StringField('username',validators=[DataRequired()])password=PasswordField('password',validators=[DataRequired()])email=StringField('email',validators=[DataRequired()])submit=SubmitField('SignUp')run.py#-*-coding:UTF-8-*---fromflaskimportFlask,render_template,flash,redirect,requestfromformsimportLoginForm,RegFormfromflask_wtf.csrfimportCSRFProtectfromformsimport*fromdb2import*fromflask_sqlalchemyimportSQLAlchemyapp=Flask(__name__)app.config['SQLALCHEMY_TRACK_MODIFICATIONS']=Truedb.init_app(app)CSRFProtect(app)@app.route('/reg/',methods=['GET','POST'])defreg():form=RegForm()ifform.validate_on_submit():user1=User(id=1,username=form.username.data,password=form.password.data,email=form.email.data)print(user1)db.session.add(user1)db.session.commit()returnrender_template('reg.html',title='Signup',form=form)app.run(host='0.0.0.0',port=9000,debug=True)reg.html{%extends"base.html"%}{%blockcontent%}reg{{form.csrf_token}}pleaseenteryourusername:{{form.username}}pleaseenteryourpassword:{{form.password}}pleaseenteryouremail:{{form.email}}{{form.submit}}{%endblock%}運行python3run.py后,在reg頁面輸入注冊的用戶名密碼郵箱后。點擊提交,出現報錯sqlalchemy.exc.OperationalErrorsqlalchemy.exc.OperationalError:(sqlite3.OperationalError)nosuchtable:user[SQL:'INSERTINTOuser(id,username,password,email)VALUES(?,?,?,?)'][parameters:(1,'123123','123123','[email protected]')](Backgroundonthiserrorat:http://sqlalche.me/e/e3q8)請問如何解決。
flask-sqlalchemy插入數據報錯sqlalchemy.exc.OperationalError
Helenr
2019-05-21 10:56:23