Уже не знаю сколько разбираюсь с этой проблемой... Установлен и mysqlclient и pymysql, но все равно выдает ошибку В терминале ввожу команды from database import db db.create_all()
database.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://sql2227827:aK5%rU9!@sql2.freemysqlhosting.net/aK5%rU9!'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
class Comments(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(32))
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
Ошибка:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Asus\AppData\Local\Programs\Python\Python36-32\lib\site-packages\flask_sqlalchemy\__init__.py", line 963, in create_all
self._execute_for_all_tables(app, bind, 'create_all')
File "C:\Users\Asus\AppData\Local\Programs\Python\Python36-32\lib\site-packages\flask_sqlalchemy\__init__.py", line 955, in _execute_for_all_tables
op(bind=self.get_engine(app, bind), **extra)
File "C:\Users\Asus\AppData\Local\Programs\Python\Python36-32\lib\site-packages\flask_sqlalchemy\__init__.py", line 896, in get_engine
return connector.get_engine()
File "C:\Users\Asus\AppData\Local\Programs\Python\Python36-32\lib\site-packages\flask_sqlalchemy\__init__.py", line 559, in get_engine
self._engine = rv = sqlalchemy.create_engine(info, **options)
File "C:\Users\Asus\AppData\Local\Programs\Python\Python36-32\lib\site-packages\sqlalchemy\engine\__init__.py", line 424, in create_engine
return strategy.create(*args, **kwargs)
File "C:\Users\Asus\AppData\Local\Programs\Python\Python36-32\lib\site-packages\sqlalchemy\engine\strategies.py", line 81, in create
dbapi = dialect_cls.dbapi(**dbapi_args)
File "C:\Users\Asus\AppData\Local\Programs\Python\Python36-32\lib\site-packages\sqlalchemy\dialects\mysql\pymysql.py", line 62, in dbapi
return __import__('pymysql')
ModuleNotFoundError: No module named 'pymysql'
Помогло добавить pymysql. PS. Работаю в PyCharm
import pymysql
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
pymysql.install_as_MySQLdb()
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://sql2227827:aK5%rU9!@sql2.freemysqlhosting.net/sql2227827'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(120), index=True, unique=True)
password_hash = db.Column(db.String(128))
@app.route('/')
def hello_world():
return 'Hello World!'
def add_user():
user = User(email='vokler98@gmail.com', password_hash='82911493p')
db.session.add(user)
db.session.commit()
if __name__ == '__main__':
db.create_all()
add_user()
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости