flask-admin ModelView

flask_admin model

官方文档
https://flask-admin.readthedocs.io/en/latest/_modules/flask_admin/model/base/#BaseModelView.get_filter_arg学习

文档地址:http://www.minzhulou.com/docs/flask-admin/api/mod_model.html

model在flask_admin算是比较重要的部分,根据文档稍微的解释下常用的参数(个人见解)

这是最基础的modelview类

该视图不关心你的模型是如何存储和管理的,但是期望以下的信息

  1. The provided model is an object 提供的模型是个对象

  2. The model contains properties 该模型具有属性

  3. Each model contains an attribute which uniquely identifies it (i.e. a primary key for a database model) 每个模型都至少有一个独一无二的标识符即数据库中的主键

  4. It is possible to retrieve a list of sorted models with pagination applied from a data source 可以从数据源中检索分页模型的列表

  5. You can get one model by its identifier from the data source 你可以从数据源中通过标识符获取模型

其实如果需要支持一个新的数据库,你只要做以下几件事情

  1. Derive from the BaseModelView class 从BaseModelView派生

  2. Implement various data-related methods 实现各种数据库相关的方法

  3. Implement automatic form generation from the model representation从模型表示中实现自动表单生成

can_create = True 是否可以创建

can_edit = True 是否可以编辑

can_delete = True 是否可以删除

list_template = 'admin/model/list.html' 修改显示该模型的html模板

edit_template = 'admin/model/edit.html' 修改编辑该模型的html模板

create_template = 'admin/model/create.html' 修改创建该模型的html模板

column_list 填入想要显示的字段,不填的话自动从模型中取

column_exclude_list 填入不想显示的字段

column_labels 一个字典,值是字段名,键是显示的名称,为字段提供显示的别名

column_descriptions 一个字典,同上,为字段显示描述

column_formatters 一个字典,格式化字段,定义字段的显示方式

column_type_formatters 一个字典,格式化字段类型,定义字段类型的显示方式,默认显示,None是空字符,bool是True,list是‘,’

column_display_pk 控制主键是否显示

column_sortable_list 选择可以被排序的字段

column_searchable_list 选择可以被搜索的字段

column_default_sort 默认的排序字段,默认为空

column_choices 字段的可选值

column_filters 选择可以被过滤的字段

form 一个Form类,可以被重写, 用来在创建和编辑是使用的表单

form_base_class 一般用来做csrf防御

form_columns=None 选择创建或者编辑时显示的字段

form_excluded_columns 选择创建或编辑时不想显示的字段

form_args=None 表单字段参数的字典。有关可能的选项列表,请参阅WTForms文档

form_overrides 重写字段的表单字典

form_widget_args 定义表单字典需要的参数

form_extra_fields 表单额外的字段

form_ajax_refs 使用ajax来加载外键

form_create_rules=None 为创建的表单定制规则,重写form_rules如果存在的话

form_edit_rules=None 为编辑的表单定制规则,重写form_rules如果存在的话

action_disallow_list 选择不允许执行的操作,如删除操作

page_size=20 设置每页显示的字段数

action_form 自定义表单操作

action_view 自定义显示操作

after_model_change 在表单改变之后需要做的事情

after_model_delete 在表单被删除之后需要做的事情

ajax_update 在列表视图中编辑单个字段

can_export=False 是否可以被导出

can_set_page_size=False 是否可以设置分页的数量

can_view_details=False 是否可以查看详细的字段

column_details_exclude_list=None 详细字段中不显示的字段

column_details_list=None 详细字段中显示的字段

column_display_actions=None 控制字段每个值的操作,编辑,删除,查看详细字段等

column_editable_list=None 可以被编辑的字段

column_export_exclude_list=None 不可以被导出的字段

column_export_list=None 可以被导出的字段

column_extra_row_actions=None 定制额外的字段操作

column_formatters_export=None 定义导出的字段格式

column_type_formatters_export=None 定义导出的字段类型的格式

create_form 创建表单

create_modal=False 创建时是否弹出对话框

create_modal_template='/admin/model/modals/create.html' 设置创建时弹出的对话框的模板地址

create_view 创建视图

delete_form 删除表单

delete_model 删除模板

delete_view 删除视图

details_modal=Flase 查看详细时是否弹出对话框

details_modal_template=‘admin/model/modals/details.html’ 设置查看详细弹出的对话框的模板地址

details_template='admin/model/details.html' 设置查看详细的模板地址

details_view 详细视图

edit_form 编辑表单

edit_modal=False 编辑时是否弹出对话框

edit_modal_template='admin/model/modals/edit.html' 设置编辑时弹出对话框的模板地址

edit_view 编辑视图

export_max_row=0 设置导出最大的数量

export_types=['csv'] 设置导出类型

form_rules=None 表单规则

get_action_form() 为模型操作创建表单类

get_column_name(field) 返回一个人类可以读的字段名

get_column_names(only_column, excluded_columns) 返回一系列可以读的字段名

get_create_form() 为模型创建视图创建一个表单类

get_delete_form() 为模型删除视图创建一个表单类

get_details_columns() 获取详细字段的字段名

get_edit_form() 为模型编辑视图创建一个表单类

get_export_columns() 获取可以被导出的字段名

get_export_name(export_type='csv') 获取可以导出文件名称

get_export_value(model, name) 获取导出值

get_filter_arg(index,flt) 获取单个过滤项

get_filters() 获取所有过滤项

get_form() 获取表单类

get_list(page, sort_field, sort_desc, search, filters,page_size=None) 从数据库中获取指定的数据

get_list_columns() 获取设置的column_list中的字段

get_list_form() 获取可编辑列表视图的表单类

get_list_row_actions() 返回字段可以执行的操作

get_list_value(context,model,name) 返回要在列表视图中显示的值

get_one(id) 通过id来获取某个模型

get_pk_value(model) 获取模型的主键

get_save_return_url(model, is_created=False) 获取保存之后返回的url

get_sortable_columns() 获取可以排序的字段

handle_filter(filter) 处理过滤器

index_view(args,*kwargs) 默认显示的视图

init_search() 初始化搜索

is_action_allowed(name) 判断操作是否允许

is_editable(name) 判断是否可以编辑

is_sortable(name) 判断是否可以拍下

is_valid_filter(filter) 判断是否是合法的过滤器

list_form(obj=None) 实例化列表视图的模型编辑表单并返回

named_filter_urls=False 在url参数中使用人类可以的过滤器

on_form_prefill(form,id) 执行其他操作以预填充编辑表单

on_model_change(form,model,is_created) 在模板改变后需要做的事情

on_model_delete(model) 在模板被删除之后需要做的事情

scaffold_filters(name) 为给定的名称生成过滤器对象

scaffold_form() 从模型中创建form.BaseForm继承的类。必须在子类中实现

scaffold_list_columns() 返回模型字段名称列表。必须在子类中实现。

scaffold_list_form(widget=None, validators=None) 仅使用self.column_editable_list中的列为index_view创建表单

scaffold_sortable_columns() 返回可排序列的字典。必须在子类中实现

simple_list_pager=False 是否计数

update_model(form,model) 从表单中更新模型

validate_form(form) 验证提交的表单

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容