Настройка MySQL-Connector-Python во Flask - PullRequest
0 голосов
/ 14 сентября 2018

, поэтому я использую 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?

...