ошибка: у объекта 'MySQL' нет атрибута 'connection' / у объекта 'MySQL' нет атрибута 'get_db' - PullRequest
0 голосов
/ 11 декабря 2018

Я новичок в фляге и пишу основную программу для входа в систему.Каждый раз, когда я исправляю, я заканчиваю ошибкой, упомянутой выше.ниже мой код для справки.Может кто-нибудь, пожалуйста, поправьте меня.

@app.route('/')
def index():
    return render_template('form_ex.html')

@app.route('/',methods = ['POST'])
def Authenticate():

    login = request.form['u']
    password = request.form['p']
    cursor = mysql.get_db().cursor()
    cursor.execute("SELECT * FROM UserLogin WHERE login=%s and password=%s")
    data= cursor.fetchone()

    if data is None:

        return("Username or password incorrect")
    else:
        return("You are logged in")

1 Ответ

0 голосов
/ 11 декабря 2018

Судя по коду, который вы не инициализировали БД MySQL, взятому по этой ссылке, ответ ниже: Использование MySQL во Flask

Во-первых, вам нужно установить Flask-Пакет MySQL.Используя pip, например:

pip install flask-mysql

Далее необходимо добавить некоторые настройки и инициализировать MySQL:

from flask import Flask
from flaskext.mysql import MySQL

app = Flask(__name__)
mysql = MySQL()
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'root'
app.config['MYSQL_DATABASE_DB'] = 'EmpData'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)
Now you can get connection and cursor objects and execute raw queries:

conn = mysql.connect()
cursor =conn.cursor()

cursor.execute("SELECT * from User")
data = cursor.fetchone()
...