cur = mysql.connection.cursor() AttributeError: 'NoneType' object has no attribute 'cursor'
Залил на хостинг(pythonanywhere) свой сайт. Создал на нём базу данных mysql, взял пароль, хост, юзер, имя базы. Но вылазит ошибка 'NoneType' has no attribute 'cursor' Вот код:
from flask import Flask, url_for, render_template, flash, request, g, redirect, jsonify
from flask_mysqldb import MySQL
app = Flask(__name__)
app.config['MYSQL_HOST'] = 'NAME.mysql.pythonanywhere-services.com'
app.config['MYSQL_USER'] = 'USERNAME'
app.config['MYSQL_PASSWORD'] = 'PASSWORD'
app.config['MYSQL_DB'] = 'USERNAME$DBNAME'
mysql = MySQL(app)
def conn():
cur = mysql.connection.cursor()
return cur
@app.route('/', methods=["GET", "POST"])
def ind():
print(request.method)
if request.method == "POST":
date = request.form.get('fieldname')
# try:
cur = conn()
cur.execute('''
CREATE TABLE IF NOT EXISTS rews(
reviews TEXT
)
''')
mysql.connection.commit()
cur.execute("SELECT reviews FROM rews")
result = cur.fetchall()
result_string = '; '.join([item[0] for item in result])
print(result)
cur.close()
return render_template('landing.html', date=date, rew=result_string)
# except:
# return render_template('landing.html', date=date, rew='К сожалению в БД произошла ошибка. Мы попытаемся это исправить :(')
return render_template('index.html')
@app.route('/add-think', methods=["POST", "GET"])
def add():
data = request.get_json()
re_data = data['cback']
print(re_data)
try:
cur = conn()
cur.execute("INSERT INTO rews (reviews) VALUES (%s)", (re_data,))
mysql.connection.commit()
return jsonify('Успешно!')
except:
return jsonify('Ошибка.')
if __name__ == "__main__":
app.run(debug=True)