flask-admin+Flask-WTF 实现实现增删改查

背景:

flask-admin+flask-wtf在网上可以搜索到很多资料,但有价值的很少,或许是太简单,或者是很少人这么用,或者。。。,本文将作者近礼拜摸索到的一点经验分享出来,给自己做个记录。

材料:

1、Flask==3.1.0

2、flask-babel==4.0.0

3、Flask-SQLAlchemy==3.1.1

4、Flask-WTF==1.2.2

5、WTForms==3.2.1

制作:

1、安装响应库:依托于pip 安装很简单,省略)

2、应用集成:Flask-WTF 无需集成,安装库文件后直接可以使用

3、flask-admin的集成与配置:

a、项目目录如下

b、在admin 目录下创建base_admin.py文件,便于工程化配置

class MyAdminIndexView(AdminIndexView):
    # def is_accessible(self):
    #     return current_user.is_authenticated

    # def inaccessible_callback(self, name, **kwargs):
    #     return redirect('/admin/login')

    @expose("/")
    def homepage(self):
        isAuth = current_user.is_authenticated
        return self.render("admin/index.html", isAuth=isAuth)


class BaseAdmin:
    # admin视图初始化.
    def init_app(app):
        admin = Admin(
            app,  
            name=u"AI阅读管理系统",
            index_view=MyAdminIndexView(name="首页"),
            template_mode='bootstrap3'
        )
        admin.add_view(MyOrganView(name='机构管理', endpoint="/org"))
        admin.add_view(MyUserView(name="用户管理", endpoint="/user", category='系统管理'))
        admin.add_view(MyCategoryView(name="权限管理", endpoint="/cate", category='系统管理'))
        admin.add_view(MyRoleView(name="角色管理", endpoint="role", category='系统管理'))
        admin.add_view(MyAiConfigView(db.session, name='Dify配置', category='Dify管理'))
        admin.add_view(MyAiFlowView(db.session, name='Dify工作流', category='Dify管理'))
        admin.add_view(DifyFlowTypeView(db.session, name='工作流类型', category='Dify管理'))
        admin.add_view(MyUrlsView(name="网站管理", endpoint="/urls", category='AI阅读'))
        admin.add_view(MyNewsView(name="今日要闻", endpoint="/news", category='AI阅读'))
        return admin

c、 基于flask-admin的视图基础的有2种,自定义视图(BaseView)和模型视图(ModelView)下面分别介绍本文作者理解的2种视图及用法。

自定义视图(BaseView)

1、自定义视图需要集成baseview基类,特点是集成这个基类后增删改查都需要自己去实现

2、务必要实现 @expose('/')的函数重构(默认进入这个视图模块的路径)

3、样例代码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值