上一次做到本地的增删改已经ok,现在要使用下拉框来进行选择和触发。
接下来就简单了(之前已经实现过),使用多级下拉框来选择不同的服务器、数据库和表。唯一一个要注意的就是不同表的主键问题:大部分主键是不同名的。当然也不是所有表都需要/允许编辑。
约定:每个可编辑的数据表都有一个整型的主键id,名字叫task_id,这个我已经有一个可手动开启的worker来长期运行。所以如果要将某个表转为可编辑状态时,启动这个worker去守护这张表就可以了。
主要是回顾了一下下拉框的实现,并完成了一个调测。后续还差的就是进一步使用jinja模板进行通用的适配,暂时应该是够了。

当server发生变化时,会触发后续tier1,tier2,application里选项的变化;
当tier1发生变化时,会触发后续tier2选项的变化;
当tier2或者application发生变化时,会触发表格数据的请求和加载。
要特别注意调整的是用户的列表选项会暂存在new_portal里,请求的列表是根据用于之前的选择偏好来。(因为服务器和数据库实在太多)
具体的做法是将用户的选择列表暂存,然后在生成列表时排序:
未来的列表还会具有其他形式,所以可选的列表将会由:
这样几个部分组成。
视图端,这是一个示意,实际上始终请求了test.test的数据。真实上线后根据input_data里的参数替换就行。
@app.route('/get_data_by_tiers/', methods=['GET','POST'])
def get_data_by_tiers():
input_data = request.get_json()
print(input_data)
recs = w.query_recs('test','test', limits =1000, filter_dict ={
'is_enable':1})
rec_df = pd.DataFrame(recs['data'])
rec_df['id'] =rec_df['tid']
rec_df = rec_df.fillna('')