嗨,我正在跟随一个在线教程来构建一个flask web应用程序,当我试图通过注册按钮将信息存储到我的数据库中时,经常遇到这个错误。在
from flask import Flask, render_template, json, request
from flask.ext.mysqldb import MySQL
from werkzeug import generate_password_hash, check_password_hash
app = Flask(__name__)
mysql = MySQL(app)
# MySQL configurations
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'pass'
app.config['MYSQL_DATABASE_DB'] = 'table'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)
@app.route("/")
def main():
return render_template('index.html')
@app.route('/showSignUp')
def showSignUp():
return render_template('signup.html')
@app.route('/signUp', methods = ['POST','GET' ])
def signUp():
_phonenumber = request.form['phonenumber']
_name = request.form['name']
_password = request.form['password']
if _phonenumber and _name and _password:
conn = mysql.connect()
cursor = conn.cursor()
_hashed_password = generate_password_hash(_password)
cursor.callproc('sp_createphoneuser', (_phonenumber,_name,_hashed_password))
data = cursor.fetchall()
if len(data) is 0:
conn.commit()
return json.dumps({'message':"User created successfully !"})
else:
return json.dumps({'error':str(data[0])})
else:
return json.dumps({'html':'<span>Enter the required fields</span>'})
if __name__ == "__main__":
app.debug = True
app.run(port=5002)
这就是我的代码,每次我试图注册一个用户时,终端都会出现这个错误:
^{pr2}$我的理论是在安装过程中出现了问题,但我不确定。在
这不是你如何获得一个连接,或光标,与flask.ext.mysqldb. 见the documentation。在
它应该是:
所以根本不需要显式地创建连接。在
(请注意,似乎有一个单独的项目flaskmysql,其API稍有不同——这可能是造成混淆的原因。)
我最近也遇到了同样的问题,我解决了
通过使用
conn = mysql.connect
而不是conn = mysql.connect()
相关问题 更多 >
编程相关推荐