跳过输入电子邮件以在web2py中注册

时间:2014-04-24 14:30:31

标签: python web2py

我是web2py的新手,我试图注册没有电子邮件地址的用户(reddit样式登录),但我无法跳过auth_user中的电子邮件字段,我确实试过这些因为他们似乎很直观

 auth.settings.registration_requires_email = False 

 auth.define_tables(username=True, signature=False,email=False)

然而,他们不存在,感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:1)

来自Google群组:

def user():
    if request.args(0) == 'register':
        for field in ['first_name', 'last_name', 'email']:
            db.auth_user[field].readable = db.auth_user[field].writable = False
    return dict(form=auth())

以上内容改变了default.py控制器中的user()函数,因此它只是隐藏了注册表单中的名称和电子邮件字段(但在配置文件表单中显示它们,以便以后可以填写它们) )。

答案 1 :(得分:0)

以下是我为Customizing Auth找到的链接,其中说明了如何准确执行您想要的操作,即使用用户名进行身份验证而非电子邮件地址。

  

如果添加名为“username”的字段,将使用该字段代替   用于登录的“电子邮件”。如果这样做,则需要添加验证器   好:

     

auth_table.username.requires = IS_NOT_IN_DB(db, auth_table.username)

所以看起来你必须利用链接中讨论的 define_tables() 函数。希望这有帮助!