Есть 2 отдельно работающие страницы:
1- это ввод данных в таблицу mysql из веб:
from flask import Flask, render_template, request
from flask_mysqldb import MySQL
import mysql.connector
app = Flask(__name__)
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'cubinez85'
app.config['MYSQL_PASSWORD'] = '123'
app.config['MYSQL_DB'] = 'MyDB'
mysql = MySQL(app)
@app.route('/insert', methods=['GET', 'POST'])
def insert():
if request.method == "POST":
details = request.form
firstName = details['fname']
lastName = details['lname']
position = details['position']
cur = mysql.connection.cursor()
cur.execute("INSERT INTO MyUsers(firstName, lastName, position) VALUES (%s, %s, %s)", (firstName, lastName, position))
mysql.connection.commit()
cur.close()
return 'success'
return render_template('index.html')
И 2 - это вывод данных из mysql таблицы в веб:
from flask import Flask
import mysql.connector
app = Flask(__name__)
db = mysql.connector.connect(
host="localhost",
user="cubinez85",
password="123",
database="MyDB"
)
cursor = db.cursor()
@app.route('/display')
def display():
cursor.execute("select * from MyUsers")
output = cursor.fetchall()
res = str(output).strip('[]')
return res
if __name__ == '__main__':
app.run()
Если их соединить , то в error.log вылезает ошибка
AttributeError: 'MySQL' object has no attribute 'connector'
Вот app.py:
from flask import Flask, render_template, request
from flask_mysqldb import MySQL
import mysql.connector
app = Flask(__name__)
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'cubinez85'
app.config['MYSQL_PASSWORD'] = '123'
app.config['MYSQL_DB'] = 'MyDB'
mysql = MySQL(app)
@app.route('/insert', methods=['GET', 'POST'])
def insert():
if request.method == "POST":
details = request.form
firstName = details['fname']
lastName = details['lname']
position = details['position']
cur = mysql.connection.cursor()
cur.execute("INSERT INTO MyUsers(firstName, lastName, position) VALUES (%s, %s, %s)", (firstName, lastName, position))
mysql.connection.commit()
cur.close()
return 'success'
return render_template('index.html')
@app.route('/display')
def display():
db = mysql.connector.connect(
host="localhost",
user="cubinez85",
password="123",
database="MyDB"
)
cursor = db.cursor()
cursor.execute("select * from MyUsers")
output = cursor.fetchall()
res = str(output).strip('[]')
return res
if __name__ == '__main__':
app.run()