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