烧瓶安全和烧瓶管理的捆绑与一点集成。
flask-secure-admin的Python项目详细描述
烧瓶安全管理
我的小瓶子管理和瓶子安全捆绑。大量借鉴flask管理示例repo,还集成了sqlsoup,因为当我创建它时,我不想声明任何模型。当然,它可以适应烧瓶炼金术。
开发
上传包
# Update setup.py version number python setup.py sdist twine upload dist/flask_secure_admin-x.x.x.tar.gz # use the last version created
用法
在虚拟环境中运行以下命令:
pip install flask-secure-admin # Or use pipenv
将以下python添加到项目中:
fromflask_secure_adminimportSecureAdminBlueprintapp.db=SQLSoup(os.environ['DATABASE_URI'])app.register_blueprint(SecureAdminBlueprint(name='Your Project Name',url_prefix='secure-admin'))
通过传递sqlsoup模型的名称列表将其添加到管理视图中
作为SecureAdminBlueprint
的第三个参数和视图选项列表
将这些模型视图自定义为第四个参数:
app.register_blueprint(SecureAdminBlueprint(
name='Your Project Name',
url_prefix='secure-admin'
models=['videos', 'captions', 'languages'],
view_options=[
dict(
can_create=False,
form_overrides=dict(filename=FileUploadField)
)
], {}, {}))
见https://flask-admin.readthedocs.io/en/latest/api/mod_contrib_sqla/#flask_admin.contrib.sqla.ModelView 以及它的父类https://flask-admin.readthedocs.io/en/latest/api/mod_model/#flask_admin.model.BaseModelView, 所有配置选项的列表。
最后,运行此命令在数据库中创建必要的数据库表(postgresql):
// Turns into, for example: psql yourdatabase < /Users/you/.local/share/virtualenvs/env-aP3G_9r-/lib/python3.7/site-packages/flask_secure_admin/create.sql
psql yourdatabase < $(dirname $(which pip))/../lib/$(python --version | sed 's/..$//' | sed 's/ //' | awk '{print tolower($0)}')/site-packages/flask_secure_admin/create.sql;
这将创建以下表:用户、角色和用户角色,因此,如果您有这些表中的任何一个,这将不起作用。 在这种情况下,最好确保用户和角色上的每个字段都是必需的。 请参阅create.sql文件以获取参考。
现在,你准备好了!运行你的应用程序,现在应该有一个受保护的'/admin'路由。