, поэтому я использую MySQL в качестве базы данных для Flask, к которой я довольно новичок, но у меня возникают проблемы с настройкой всего этого.Я использую фабрику приложений в init .py, как рекомендует учебник Flask, который выглядит следующим образом:
def create_app(test_config=None):
app = Flask(__name__, instance_relative_config=True)
CORS(app)
app.config.from_mapping(
SECRET_KEY='dev',
DATABASE_URI='mysql://user@localhost/3306'
)
...
Но я не уверен, правильно ли я использую DATABASE_URIпоскольку в учебном пособии вместо этого используется DATABASE = os.path.join (app.instance_path, 'flaskr.sqlite') (но, очевидно, я не использую SQLite).Это правильный формат для URI, если у меня сервер MySQL работает на порту 3306?Мне даже нужно установить DATABASE_URI?Если у меня есть отдельный файл config.py, нужно ли мне определять другие переменные для использования MySQL?
Кроме того, у меня есть файл db.py, который устанавливает мою базу данных, как в учебном пособии, который выглядит следующим образом:
import mysql.connector as mysql.connector
import click
from flask import current_app, g
from flask.cli import with_appcontext
def get_db():
if 'db' not in g:
g.db = mysql.connect(
user='user',
password='password',
host='http://localhost:3306/',
database='test'
)
return g.db
def init_db():
db = get_db()
with current_app.open_resource('scheman.sql', mode='r') as f:
db.executescript(f.read().decode('utf8'))
Здесь, в функции .connect (), нужно ли мне переустанавливать хост и пользователя, если я уже сделал это в моем ключе конфигурации DATABASE_URI?