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

Python 跳过输入电子邮件以在web2py中注册,python,web2py,Python,Web2py,我是web2py新手,我正在尝试注册一个没有电子邮件地址的用户(reddit风格的登录),但我无法跳过auth_user中的电子邮件字段,我尝试了这些,因为它们看起来很直观 auth.settings.registration_requires_email = False auth.define_tables(username=True, signature=False,email=False) 尽管它们不存在,但非常感谢您的帮助。我找到了一个链接,它解释了如何准确地执行您想要的操作,

我是web2py新手,我正在尝试注册一个没有电子邮件地址的用户(reddit风格的登录),但我无法跳过auth_user中的电子邮件字段,我尝试了这些,因为它们看起来很直观

 auth.settings.registration_requires_email = False 

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

尽管它们不存在,但非常感谢您的帮助。

我找到了一个链接,它解释了如何准确地执行您想要的操作,即使用用户名而不是电子邮件地址进行身份验证

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

auth\u table.username.requires=不在数据库中(DB,auth\u table.username)

因此,看起来您必须利用链接中讨论的
define\u tables()
函数。希望这有帮助

来自谷歌集团:

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()
函数,因此它只会隐藏注册表单中的名称和电子邮件字段(但在配置文件表单中保持可见,以便以后可以根据需要进行填写)。

如果您根本不想记录名称或电子邮件地址,这种方法很好,但是,看看您是否只是想在注册期间隐藏这些字段(但仍然允许将它们添加到配置文件中)。