flask-xadmin自帶后臺登錄界面、權(quán)限管理使用說明

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")]

不然會報錯藍圖重復(fù)錯誤:

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.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容