如何让网站 被百度k,电商平台设计方案,网推什么意思,windows wordpress mi背景#xff1a;
在flask-admin的模型视图#xff08;modelview 及其子类#xff09;中如果不想重构UI视图#xff0c;那么就不可避免的出现默认视图无法很好满足需求的情况#xff0c;如默认视图中只有“新增”#xff0c;“编辑”#xff0c;“选中的”三个按钮。
材…背景
在flask-admin的模型视图modelview 及其子类中如果不想重构UI视图那么就不可避免的出现默认视图无法很好满足需求的情况如默认视图中只有“新增”“编辑”“选中的”三个按钮。
材料
完整的flask-admin 开发环境
制作
视图源码
1、在ModelView 子视图中直接添加column_extra_row_actions 的扩展实现
column_extra_row_actions [LinkRowAction(glyphicon glyphicon-off, /admin/aiconfig/changestatus/{row_id}),EndpointLinkRowAction(glyphicon glyphicon-test, aiconfig.index_view)]
2、按钮图标直接去bootstrop 中复制替换即可使用组件 · Bootstrap v3 中文文档 | Bootstrap 中文网 3、 /admin/aiconfig/changestatus/{row_id} 对应的业务实现代码 expose(/changestatus/string:ai_id, methods(GET, POST))def updateStatus(self, ai_id):if ai_id:return_url request.values.get(url) or self.get_url(.index_view)model self.get_one(ai_id)if model is None:flash(gettext(Record does not exist.), error)return redirect(return_url)form self.edit_form(objmodel)model.updated_at datetime.today()model.status 1 if model.status 0 else 0if self.update_model(form, model):flash(gettext(Record was successfully saved.), success)# save buttonreturn redirect(self.get_save_return_url(model, is_createdFalse)) else:return redirect(return_url)注直接写到当前视图即可
效果 经验与注意点
1、column_extra_row_actions 扩展类的EndpointLinkRowAction 实现中必填项第一个为图标第二个为视图权限如下
EndpointLinkRowAction(glyphicon glyphicon-test, aiconfig.index_view)
注上面代码片段中“aiconfig.index_view”中的aiconfig 为当前视图注册名如果注册时没有定义flask-admin 默认为modelview 的集成子类对应的模型名 admin.add_view(MyAiConfigView(db.session, nameDify配置, categoryDify管理))
由于本例子中注册时没有特别声明Endpoint 所以就会取 aiconfig为该视图对应的实体名通过视图中定义的下面代码片段可以看到 def __init__(self, session, **kwargs):# You can pass name and other parameters if you want tosuper(MyAiConfigView, self).__init__(AiConfig, session, **kwargs)
2、第一点中提到的 aiconfig.index_view 其实可以省略为.index_view,如下代码片段照样有效 column_extra_row_actions [LinkRowAction(glyphicon glyphicon-off, /admin/aiconfig/changestatus/{row_id}),EndpointLinkRowAction(glyphicon glyphicon-test, .index_view)]
3、column_extra_row_actions 可以通过LinkRowAction 及其子类实现新扩展按钮的url连接。