客户化视图
1, model数据模型参数配置
1)配置全局参数
内置的ModelView类很适合快速入门。 但是,您需要配置其功能以适合您的特定型号。 这是通过设置ModelView类中提供的配置属性的值来完成的。

需要指定一些全局配置参数,首先是实现ModelView的子类并配置全局参数,然后在admin中添加所有的model数据模型:

from flask_admin.contrib.sqla import ModelView

# Flask and Flask-SQLAlchemy initialization here

class MicroBlogModelView(ModelView):
can_delete = False # disable model deletion
page_size = # the number of entries to display on the list view admin.add_view(MicroBlogModelView(User, db.session))
admin.add_view(MicroBlogModelView(Post, db.session))

2)当然,你也可以为单一model数据模型指定参数:

class UserView(ModelView): ##这就是所谓的modelview了
can_delete = False # disable model deletion class PostView(ModelView):
page_size = # the number of entries to display on the list view admin.add_view(UserView(User, db.session))
admin.add_view(PostView(Post, db.session))

2,ModelView 配置属性
有关已定义属性的完整列表,请查看BaseModelView()的API文档。 以下是一些最常用的属性:
1) 设置CURD的选项

can_create = False
can_edit = False
can_delete = False

2) 对于一些只读列表的信息,你可以增加read-only的属性

can_view_details = True

3) 从列表视图中删除列很容易,只需传递column_excludes_list参数的列名称列表:

column_exclude_list = ['password', ]

4) 要使列可搜索,或使用它们进行过滤,请指定列名称的列表:

column_searchable_list = ['name', 'email']
column_filters = ['country']

5) 要获得更快的编辑体验,请在列表视图中启用内嵌编辑:

column_editable_list = ['name', 'last_name']

6) 或者,添加和编辑表单显示在列表页面上的模态窗口中,而不是专用的创建和编辑页面:

create_modal = True
edit_modal = True

7) 您可以通过指定选择列表来限制文本字段的可能值:

form_choices = {
'title': [
('MR', 'Mr'),
('MRS', 'Mrs'),
('MS', 'Ms'),
('DR', 'Dr'),
('PROF', 'Prof.')
]
}

8) 从创建和编辑表单中删除字段:

form_excluded_columns = ['last_name', 'email']

9) 指定WTForms 文本域的参数设置

form_args = {
'name': {
'label': 'First Name',
'validators': [required()]
}
}

10)或者,指定用于呈现这些字段的WTForms小部件的参数:

form_widget_args = {
'description': {
'rows': ,
'style': 'color: black'
}
}

11)当你的表单包含外键时,通过ajax加载这些相关的模型,使用:

form_ajax_refs = {
'user': {
'fields': ['first_name', 'last_name', 'email'],
'page_size':
}
}

12)要过滤通过ajax加载的结果,可以使用:

form_ajax_refs = {
'active_user': QueryAjaxModelLoader('user', db.session, User,
filters=["is_active=True", "id>1000"])
}

13)在线管理相关模型:

inline_models = ['post', ]

具体的inline_models可以查看http://flask-admin.readthedocs.io/en/latest/api/mod_contrib_sqla/#flask_admin.contrib.sqla.ModelView.inline_models
14)实现csv导出功能参数:

can_export = True

这里会增加一个按钮,用于导出记录,最大的导出数可以参考export_max_rows
http://flask-admin.readthedocs.io/en/latest/api/mod_model/#flask_admin.model.BaseModelView.export_max_rows

flask_admin 笔记三 客户化视图的更多相关文章

  1. flask_admin 笔记四 自定义视图

    定义自己的视图 对于您的要求非常具体的情况,您很难用内置的ModelView类来满足这些需求,Flask-Admin使您可以轻松地完全控制并将自己的视图添加到界面中. 1)独立视图 可以通过扩展Bas ...

  2. 《MFC游戏开发》笔记三 游戏贴图与透明特效的实现

    本系列文章由七十一雾央编写,转载请注明出处. 313239 作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5 ...

  3. angular学习笔记(三十一)-$location(1)

    本篇介绍angular中的$location服务的基本用法,下一篇介绍它的复杂的用法. $location服务的主要作用是用于获取当前url以及改变当前的url,并且存入历史记录. 一. 获取url的 ...

  4. angular学习笔记(三十)-指令(6)-transclude()方法(又称linker()方法)-模拟ng-repeat指令

    在angular学习笔记(三十)-指令(4)-transclude文章的末尾提到了,如果在指令中需要反复使用被嵌套的那一坨,需要使用transclude()方法. 在angular学习笔记(三十)-指 ...

  5. angular学习笔记(三十)-指令(5)-link

    这篇主要介绍angular指令中的link属性: link:function(scope,iEle,iAttrs,ctrl,linker){ .... } link属性值为一个函数,这个函数有五个参数 ...

  6. angular学习笔记(三十)-指令(2)-restrice,replace,template

    本篇主要讲解指令中的 restrict属性, replace属性, template属性 这三个属性 一. restrict: 字符串.定义指令在视图中的使用方式,一共有四种使用方式: 1. 元素: ...

  7. DirectX11笔记(三)--Direct3D初始化代码

    原文:DirectX11笔记(三)--Direct3D初始化代码 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010333737/article ...

  8. DirectX11笔记(三)--Direct3D初始化2

    原文:DirectX11笔记(三)--Direct3D初始化2 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010333737/article/ ...

  9. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

随机推荐

  1. MariaDB实现主从配置及读写分离(一)

    一.主从复制方案 1.  在两台CentOS7虚拟机上分别部署MariaDB, 主数据库服务器IP为192.168.17.235, 从服务器IP为192.168.17.238. 从服务器通过调取主服务 ...

  2. 安装SQL sever2008时显示重新启动计算机规则失败,应该怎么解决?

    1.删除注册表:在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到 PendingFileRenameOpe ...

  3. CSS| table property

  4. 50家硅谷IT公司技术博客

    分享一下 50 家硅谷优秀 IT 公司技术博客,从中可以了解企业文化,技术特色和设计语言,如果直接列出来很单调,加上点评,算吐槽版吧. 知名大厂   1. Facebook https://www.f ...

  5. OpenResty 安装配置

    0. 说明 1. Windows 下安装 下载软件包 openresty-1.13.6.1-win32.zip ,解压即可食用. [开启] 直接运行 nginx.exe 在 Windows 的命令窗口 ...

  6. Windows下文件检索的基本姿势

    要点 使用FindFirstFile和FindNextFile两个WindowsAPI,并配合链表或队列存储文件夹序列. C++源码(链表存储) #include <iostream> # ...

  7. BZOJ2893:征服王(费用流)

    Description 虽然春希将信息传递给了雪菜,但是雪菜却好像完全不认得春希了.心急如焚的春希打开了第二世代机能,对雪菜的脑内芯片进行了直连-hack. 进入到雪菜内部的春希发现(这什么玩意..) ...

  8. Python高级--闭包与装饰器

    前言:在Python中,闭包是一种非常有用的功能!它通常与装饰器一起搭配使用,可以在不改变被装饰函数的功能的基础上,完成更多的功能.如权限认证. 一.如何定义闭包 1.闭包就是两个嵌套的函数,外层函数 ...

  9. zabbix 客户端添加自定义参数

    0.zabbix客户端配置文件 server和serveractive都需要配置 1.配置自定义参数脚本文件 zabbix_agent.conf中UserParameter字段,可以配置多行 User ...

  10. QGIS(2.18.15 源码)+Qt(5/5.9.3)+VS2015(X64)编译

    由于工作要求,今年需要基于Qt搞跨平台的GIS.前期未曾接触过Qt,最近也简单学习了下,开源的QGIS是非常不错的学习资源,下了最新版的QGIS源码,不过在VS2015下却没法直接打开.网上查了很多资 ...