flask-admin modelView 如何在create和edit顯示不同表單提交
阿新 • • 發佈:2019-01-04
在一個客戶專案中,對客戶來說一些沒必要的欄位,需要隱藏。
而使用flask-admin構建後臺時,它的CRUD模型的編輯和建立都是根據Model設定的。
於是我使用form_create_rules和form_edit_rules來進行選擇編輯,但是Debug命令列會總是發出警告:UserWarning: Fields missing from ruleset................,於是上網搜了一下,發現大家都是選擇忽略警告,不滿意。終於在flask-admin的api文件中找個一個欄位可以通用完成這個功能,又不需要涉及Field rules,顯示效果是一樣的,完美。。
程式碼如下:
class PostView(AdminModelView):
"""View function of Flask-Admin for Post create/edit Page includedin Models page"""
# show columns in edit or create page
form_columns = ('title', 'text',)
看一下效果:
沒設定之前:
設定之後
由於有些欄位都是用來做過濾用的,客戶編輯並不需要,這樣看起來清爽很多,而且不會出現csrf_token的警告。
自己備註一下,發現一個小功能:可以設定欄位為只讀模式,這個也不錯
# If you want to make them not editable in form view: use this piece:
form_widget_args = {
'title': {
'readonly': True
},
}
Good Lucky~