Подключите Flask приложение к SQL серверу, используя Flask -SQLAlchemy с Windows аутентификацией - PullRequest
0 голосов
/ 17 апреля 2020

Я следовал по этому , чтобы настроить Windows аутентификацию. Не знаю, работает ли он, так как сейчас есть ошибка.

Прямо сейчас у меня есть это:

from flask import Flask
from flask_sqlalchemy import sqlalchemy
app = Flask(__name__, static_url_path='', static_folder='static')
app.config['SQLACHLEMY_DATABASE_URI'] = 'mssql://LAPTOP-GNBBOVKT/SQLEXPRESS/OIS?trusted_connection=yes'
db = sqlalchemy(app)

class Country(db.Model):
    __tablename__ = 'example'
    id = db.Column('Country_ID', db.Integer, primary_key=True)
    code = db.Column('Country_Code', db.String)

@app.route('/test')
def test():
    allCountries = Country.query.all()
    return jsonify(allCountries)

Но я получаю ошибку:

TypeError: объект 'module' не вызывается at db = sqlalchemy (app)

EDIT: исправлена ​​ошибка, изменяющая sqlalchemy на SQLAlchemy, но теперь я получаю

UserWarning: Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. Defaulting SQLALCHEMY_DATABASE_URI to "sqlite:///:memory:".

Возможно, потому что он не подключен к базе данных.

РЕДАКТИРОВАТЬ: Что в итоге исправлено, так это импорт pyodb c и изменение строки URI:

app.config['SQLALCHEMY_DATABASE_URI'] = 'mssql+pyodbc://@' + 'LAPTOP-GNBBOVKT\\SQLEXPRESS' + '/' + 'OIS' + '?trusted_connection=yes&driver=ODBC+Driver+13+for+SQL+Server'

1 Ответ

1 голос
/ 17 апреля 2020

Вы должны инициализировать объект БД с помощью db = SQLAlchemy ()

Также измените свой импорт на from flask_sqlaclhemy import SQLAlchemy

Редактировать: есть опечатка Измените на app.config['SQLALCHEMY_DATABASE_URI'] Есть опечатка

...