flask appbuilder1

1 视图

BaseView

BaseView是视图中的基类,所有的视图都继承自它。当我们定义一个继承自BaseView的子类时,BaseView自动将我们用@exposed修饰的urls注册为Flask中的蓝图。

我们可以通过BaseView来实现自定义页面,并添加到菜单上或者通过一个连接来访问它。这里需要注意,作为路由的方法一定要用@exposed修饰,如果需要保护的路由则需要额外使用@has_access修饰。

现在我们来看一个小例子,通常我们使用F.A.B.框架都使用自动生成的项目结构,这样我们只需要在app目录下的views.py文件中修改代码即可。

fromflask_appbuilderimportAppBuilder, expose, BaseView

fromappimportappbuilder

class MyView(BaseView):

route_base ="/myview"

@expose('/hello/')

def hello(self):

return'Hello World!

'@expose('/message/')

def message(self, msg):

msg ='Hello %s'% (msg)

return msg

appbuilder.add_view_no_menu(MyView())

这里需要注意一点就是在访问urls的时候,一定要将视图的名字作为路由的前缀!

add_view和add_link这两个方法,将在菜单中生成链接访问我们定义的路由

模型视图

定义数据库模型   

          先  在model.py中定义数据库模型,

定义数据库视图    

          通过继承ModelView类可以实现我们自定义的视图,F.A.B.可以针对我们定义好的数据库模型生成创建、删除、更新和显示的功能。                       


db.create_all()

首先使用db.create_all()根据数据库模型创建表,然后再将视图添加到菜单。

related_views来关联视图

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容