cur = mysql .connector.cursor () AttributeError: «MySQL» объект не имеет атрибута «соединитель» - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь создать простую форму входа в систему, используя python, flask и базу данных mysql в IDE Pycharm.

from flask import Flask, render_template, request
from flaskext.mysql import MySQL


mysql = MySQL()

app = Flask(__name__)

app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'root'
app.config['MYSQL_DATABASE_DB'] = 'regform'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'

mysql.init_app(app)


@app.route('/')
def reg():
    return render_template('login.html')

@app.route('/home', methods=['POST', 'GET'])
def reg2():
    email = request.form['uname']
    password = request.form['psw']
    cursor = mysql.connect().cursor()
    # cursors.execute('SELECT * FROM signup WHERE email = '"+email+"'and password = '"+ password +"'')
    cursor.execute('SELECT * FROM signup WHERE email = %s AND password = %s', (email, password))

    data = cursor.fetchone()
    if data is None:
        return 'no user'
    else:
        return 'welcome'

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

Не было ошибок, но нет выходных данных. Что я сделал не так?

1 Ответ

0 голосов
/ 07 февраля 2020

Согласно официальным документам Flask - MySQL (https://flask-mysql.readthedocs.io/en/latest/), вы должны сделать следующее, чтобы получить курсор:

mysql = MySQL()
mysql.init_app(app)
cursor = mysql.get_db().cursor()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...