我有一个密码字段,需要每隔一段时间更改一次。我有一个常规的:
form = SQLFORM(db.table, id)
我想简单地将表单打印到视图中,但需要进行以下更改: 如何阻止Web2py显示*符号并且根本不显示任何内容,因此每次对表单进行任何编辑时,用户都必须输入新数据。
目前它在html中显示******值为******。
我是否真的需要针对此问题制作客户视图? 用户对表单感到困惑,认为它仍然包含工作密码。
答案 0 :(得分:0)
您可以自定义密码字段的小部件:
db.mytable.password.widget = lambda f, v: SQLFORM.widgets.password.widget(f, v, _value='')
这也可以在表定义中完成:
db.define_table('mytable',
...,
Field('password', 'password',
widget=lambda f, v: SQLFORM.widgets.password.widget(f, v, _value='')),
...)
如果要对所有应用程序中的所有密码字段进行此更改,您可以修改sqlhtml
模块:
from gluon import sqlhtml
sqlhtml.DEFAULT_PASSWORD_DISPLAY = ''