На ubuntu установлен сервер Flask с nginx, supervisor, gunicorn. Все работает. Хочу связать Flask c базой данных Mysql. Установил Mysql на ubuntu, создал базу данных MyDB. Сервер Mysql работает.
Вот app.py:
from flask import Flask, render_template
from flask_mysqldb import MySQL
app = Flask(__name__)
mysql = MySQL()
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = 'root'
app.config['MYSQL_DB'] = 'MyDB'
mysql.init_app(app)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == "POST":
details = request.form
firstName = details['fname']
lastName = details['lname']
cur = mysql.connection.cursor()
cur.execute("INSERT INTO MyUsers(firstName, lastName) VALUES (%s, %s)", (firstName, lastName))
mysql.connection.commit()
cur.close()
return 'success'
return render_template('index.html')
if __name__ == '__main__':
app.run()
Я думаю, что
from flask_mysqldb import MySQL
в этом проблема, как проверить не знаю.
Вот pip list:
Package Version
------------------ ----------
blinker 1.7.0
certifi 2023.11.17
charset-normalizer 3.3.2
click 8.1.7
Flask 3.0.0
Flask-MySQL 1.5.2
gunicorn 21.2.0
idna 3.6
itsdangerous 2.1.2
Jinja2 3.1.2
MarkupSafe 2.1.3
packaging 23.2
pip 22.0.2
PyMySQL 1.1.0
pyTelegramBotAPI 4.14.1
requests 2.31.0
setuptools 59.6.0
urllib3 2.1.0
Werkzeug 3.0.1