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、遇到问题就看源码,比文档和网络资源更有用

相关推荐
weixin_4474432511 小时前
AI启蒙Lean4
python·c#
Ulyanov11 小时前
雷达电子战仿真通信需求与Python实现挑战
python·数据通信·系统仿真·雷达电子对抗仿真
Postkarte不想说话12 小时前
使用vLLM本地部署大模型
后端
断眉的派大星12 小时前
工厂模式(Factory Pattern)完整详解
python·设计模式
好家伙VCC12 小时前
**基于RISC-V架构的嵌入式系统开发:从零开始构建高效低功耗应用**在当前物联网(IoT)和边缘计
java·python·物联网·架构·risc-v
jserTang12 小时前
手撕 Claude Code-4: TodoWrite 与任务系统
前端·javascript·后端
jserTang12 小时前
手撕 Claude Code-5:Subagent 与 Agent Teams
前端·javascript·后端
柯西劝我别收敛12 小时前
K8s Scheduling Framework 解析
后端
大佬王12 小时前
WebSocket 连接池生产级实现:实时行情高可用与负载均衡
python·架构
金銀銅鐵12 小时前
[Java] 从 class 文件看 cglib 对 MethodInterceptor 的处理 (下)
java·后端