flask_admin的字段設置

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算是比較重要的部分,根據文檔稍微的解釋下常用的參數(個人見解)

 BaseModelView(model, name=None, category=None, endpoint=None, url=None, static_folder=None, menu_class_name=None, menu_icon_type=None, menu_icon_value=

這是最基礎的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 (get_listget_onecreate_model, etc)    實現各種數據庫相關的方法

  3. Implement automatic form generation from the model representation (scaffold_form)     從模型表示中實現自動錶單生成

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)    驗證提交的表單


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章