美文网首页
flask-xadmin自带后台登录界面、权限管理使用说明

flask-xadmin自带后台登录界面、权限管理使用说明

作者: 卡萨诺瓦_ | 来源:发表于2017-07-02 10:19 被阅读0次

    flask-xadmin其实就是集成了Flask-Admin、Flask-SQLAlchemy、Flask-Security的扩展

    使用说明:

    1.安装

    pip install Flask-Admin

    pip install Flask-SQLAlchemy

    pip install Flask-Security

    pip install flask-xadmin

    2.整合

    可以参考作者在2016.12月写的例子

    https://github.com/hexo-/flask-xadmin/blob/master/flask_xadmin/examples/simple.py

    其中

    classRole(db.Model,RoleMixin)以及ID, name and description字段是必须的,且doc="Full name"这种说明也不能少

    和classUser(db.Model,UserMixin)以及id email password active字段是必须的,且doc="Full name"这种说明也不能少(参考 http://flask-security-zh-cn.readthedocs.io/zh_CN/latest/models.html)

    app.config['SECURITY_PASSWORD_HASH']和app.config['SECURITY_PASSWORD_SALT']是必须的

    password字段的长度不得低于120,User模型里的所有字段char长度之和不能超过1000

    其他地方直接照搬例子即可。

    其中要注意的是

    views=[

    myModelView(model=User,session=db.session,category='Entities'),

    myModelView(model=Role,session=db.session,category='Entities'),

    myModelView(model=Mydata,session=db.session,category='Entities'),

    myFileAdmin(base_path='.',name="Files",category='Files']

    需要修改,在category属性后面再添加endpoint属性,即:

    views=[

    myModelView(model=User,session=db.session,category='Entities',endpoint="User"),

    myModelView(model=Role,session=db.session,category='Entities',endpoint="Role"),

    myModelView(model=Mydata,session=db.session,category='Entities',endpoint="Mydata"),

    myFileAdmin(base_path='.',name="Files",category='Files',endpoint="files")]

    不然会报错蓝图重复错误:

    AssertionError: A blueprint's name collision occurred between and . Both share the same name "workflow". Blueprints that are created on the fly need unique names.

    相关文章

      网友评论

          本文标题:flask-xadmin自带后台登录界面、权限管理使用说明

          本文链接:https://www.haomeiwen.com/subject/fijncxtx.html