如何从 web2py 密码字段的密码字段中删除 *。我只需要它空白

How do I remove the * from a password field in a web2py password field. I only need it blank

我有一个密码字段,需要每隔一段时间更改一次。我有一个普通的:

form = SQLFORM(db.table, id)

我只想将表单打印到视图,但要进行以下更改: 我如何阻止 Web2py 显示 * 符号而什么都不显示,以便用户每次对表单进行任何编辑时都必须输入新数据。

目前它显示 ****** 以及 html 中 ****** 的值。

我真的需要为这个问题做一个客户视图吗? 用户对表单感到困惑,认为它仍然包含有效密码,但实际上并没有。

您可以自定义密码字段的小部件:

db.mytable.password.widget = lambda f, v: SQLFORM.widgets.password.widget(f, v, _value='')

这也可以在table定义中完成:

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 = ''