我想在auth.login表单中插入“Email”和“password”等标签作为提示文本。
有人可以建议怎么做吗?
提前致谢
思想家!!
答案 0 :(得分:4)
如果希望提示显示在表单输入字段的旁边或下方(取决于您使用的表单样式),则可以使用相关comment
表字段的auth_user
属性。
db.auth_user.email.comment = 'Enter your email address'
db.auth_user.password.comment = 'Enter your password'
如果您希望使用HTML5 placeholder
属性直接在输入字段中显示提示,则可以自定义auth_user
表字段小部件:
db.auth_user.email.widget = lambda f,v: SQLFORM.widgets.string.widget(f, v,
_placeholder='Enter your email address')
有关小部件的更多信息,请参阅here。
请注意,较旧的浏览器不支持placeholder
属性,因此您可能需要一些Javascript才能在旧版浏览器上运行。
如果您只是希望提示出现在登录表单上(而不是注册或个人资料表单),您可以将上述代码放在user()
函数或/default/user.html视图中:< / p>
def user():
if request.args(0) == 'login':
db.auth_user.email.comment = 'Enter your email address'
etc.
return dict(form=auth())
否则,代码可以在定义auth
后的任何时间进入模型文件,在这种情况下,它将影响包含这些字段的所有表单。