flask-admin的modelview 实现list列表视图中某个列字段值翻译

背景:

flask-admin 开发中modelview视图是非常强大的,但文档写的很难受,只能通过源码慢慢摸索学习,一点点记录

材料:

可用的flask-admin 环境

制作:

样例代码:

1、modelview 视图代码

复制代码
 column_formatters = {
        'status': format_status
    }

2、函数format_status

复制代码
# 格式化列表显示状态
def format_status(view, context, model, name):
    return '有效' if model.status == 0 else '无效'

注: 该函数不能写在当前视图 class中,但可以写在当前文件中

效果:

经验

1、column_formatters 可以用于flask-admin 的modelview 视图中列值的翻译,比如状态的0与1翻译

2、由于column_formatters中的字段可以通过函数扩展,同时可以在函数中拿到(view, context, model, name) 的当前模型信息,那么可以使用这些信息可以做很多事情如下列源码中的例子

复制代码
            from flask_admin.model.template import macro

            class MyModelView(BaseModelView):
                column_formatters = dict(price=macro('render_price'))

3、遇到问题就看源码,比文档和网络资源更有用

相关推荐
2303_8212873810 小时前
Golang reflect反射怎么用_Golang反射教程【通俗】
jvm·数据库·python
紫洋葱_popo10 小时前
一文吃透 LangChain 流式输出:同步、异步、LCEL 链式穿透全解析
后端
松就是我9029810 小时前
LLM 代理服务实现原理文档
后端
fliter10 小时前
Rust 的承诺:不是没有复杂性,而是把复杂性放到你能看见的地方
后端
fliter10 小时前
Rust 模块和文件不是一回事:一次讲清 `mod`、`use`、`pub use`
后端
绯雾sama10 小时前
易扣AI (Go + CloudWeGo) 企业级AI智能体项目教程 第2章:后端项目用户模块搭建
后端
fliter10 小时前
半小时读懂 Rust:从语法符号到所有权思维
后端
fliter10 小时前
深入 Rust enum 的内存世界
后端