我遵循this进行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:“模块”对象不可调用
at
db = sqlalchemy(app)
编辑:通过将sqlalchemy更改为SQLAlchemy修复了错误,但现在我得到了
UserWarning: Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. Defaulting SQLALCHEMY_DATABASE_URI to "sqlite:///:memory:".
可能是因为它未连接到数据库。
编辑:最终解决的问题是导入pyodbc并更改URI行:
app.config['SQLALCHEMY_DATABASE_URI'] = 'mssql+pyodbc://@' + 'LAPTOP-GNBBOVKT\\SQLEXPRESS' + '/' + 'OIS' + '?trusted_connection=yes&driver=ODBC+Driver+13+for+SQL+Server'
答案 0 :(得分:1)
您应通过db = SQLAlchemy ()
初始化db对象
也将导入更改为from flask_sqlaclhemy import SQLAlchemy
编辑:
有错字
更改为app.config['SQLALCHEMY_DATABASE_URI']
有错字