我在python3.6环境中有以下Flask应用程序/文件夹结构:
site/
__init__.py
models.py
static/
templates/
dashboard/
index.html
login/
index.html
views/
__init__.py
login.py
config.py
run.py
我的文件如下:
from site import app
app.run()
class BaseConfig(object):
DEBUG = False
TESTING = False
WFT_CSRF_ENABLED = True
class DevConfig(BaseConfig):
DEBUG = True
SECRET_KEY = 'dev'
SQLALCHEMY_DATABASE_URI = 'DRIVER={ODBC Driver 11 for SQL Server};SERVER=myServer;DATABASE=myDB;TRUSTED_CONNECTION=yes'
SQLALCHEMY_TRACK_MODIFICATIONS = False
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_object('config.DevConfig')
db = SQLAlchemy(app)
from site.views import login
app.register_blueprint(login.mod)
from flask import Blueprint, render_template
mod = Blueprint('login', __name__)
@mod.route('/')
def index():
return render_template('login/index.html')
class User(db.Model):
__table__ = db.Model.metadata.tables['users']
def __repr__(self):
return '<User %r>' % self.username
我想要做的是连接并使用我的ms-sql数据库中的现有模型,称为用户。
我是Flask,Flask-SQLAlchemy,Blueprint和Python的新手,我对如何在login.py中使用db.Model感到很痴迷。如何在蓝图范例中实现这一目标?
任何帮助和方向都会受到很多关注,感谢先进的帮助!
的问候, 马基
答案 0 :(得分:0)
您可以将以下行添加到login.py:
from site import db
from site.models import User
要将新用户添加到数据库,您可以使用它:
new_user = User()
db.session.add(new_user)
db.session.commit()
并将其添加到您的用户表中:
_tablename__ = 'user'
您需要按照flask_sqlalchemy doc
中建议的语法更改配置中的数据库URI替换你拥有的东西:
SQLALCHEMY_DATABASE_URI : mysql://username:password@server_adress/db_name
对于用户身份验证我可以建议您flask_login