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

相关推荐
程序员清风26 分钟前
贝壳一面:年轻代回收频率太高,如何定位?
java·后端·面试
摆烂z35 分钟前
Jupyter Notebook的交互式开发环境方便py开发
ide·python·jupyter
考虑考虑37 分钟前
Java实现字节转bcd编码
java·后端·java ee
AAA修煤气灶刘哥1 小时前
ES 聚合爽到飞起!从分桶到 Java 实操,再也不用翻烂文档
后端·elasticsearch·面试
爱读源码的大都督1 小时前
Java已死?别慌,看我如何用Java手写一个Qwen Code Agent,拯救Java
java·人工智能·后端
星辰大海的精灵2 小时前
SpringBoot与Quartz整合,实现订单自动取消功能
java·后端·算法
天天摸鱼的java工程师2 小时前
RestTemplate 如何优化连接池?—— 八年 Java 开发的踩坑与优化指南
java·后端
一乐小哥2 小时前
一口气同步10年豆瓣记录———豆瓣书影音同步 Notion分享 🚀
后端·python
LSTM972 小时前
如何使用C#实现Excel和CSV互转:基于Spire.XLS for .NET的专业指南
后端
三十_2 小时前
【NestJS】构建可复用的数据存储模块 - 动态模块
前端·后端·nestjs