Tim*_*son 5 flask flask-security
我想使用flask-security。我正在使用模板烧瓶应用程序,该应用程序创建扩展的全局对象,然后在创建应用程序时对其进行初始化。例如在extensions.py中,有如下代码:
from flask_bcrypt import Bcrypt
from flask_caching import Cache ...
from flask_security import Security ...
bcrypt = Bcrypt() ...
security = Security()
Run Code Online (Sandbox Code Playgroud)
然后在app.py调用register_extensions(app)中使用如下init_app(app)方法:
bcrypt.init_app(app)
security.init_app(app)
Run Code Online (Sandbox Code Playgroud)
实际上,烧瓶安全性是一种init_app()方法。但是文档说安全对象需要一个数据存储对象,该对象需要用户和角色模型。到目前为止,没有其他扩展程序需要将用户和角色模型导入app.py中是不合适的。
在使用“大型Flask应用程序”模型时,使用Flask-Security的最佳实践是什么?我认为文档没有帮助。当所有对象都定义在一个地方时,这是一种简单的情况。
小智 5
以下是我所拥有的。
extensions.py
from flask_sqlalchemy import SQLAlchemy
from flask_security import Security
db = SQLAlchemy()
security = Security()
Run Code Online (Sandbox Code Playgroud)
__init__.py
from .extensions import db, security
from .models import User, Role
def create_app(config_name):
user_datastore = SQLAlchemyUserDatastore(db, User, Role)
security.init_app(app, user_datastore)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1087 次 |
| 最近记录: |