web2py - 如何以编程方式注册用户?
web2py - How to programmatically register users?
我想以编程方式注册用户,这样我就可以用多个用户测试我的应用程序。
我想到的方法是:
if db( db.auth_user ).count() == 0:
alphabet = 'abcdefghijklmnopqrstuvwxyz'
for letter in alphabet:
db.auth_user.validate_and_insert( first_name=letter , last_name=letter , email='%s@%s.com'%(letter , letter) , username=letter , password='qwer' )
然而,这并没有设置关于组成员等的其他表。
你可以看看here and here,基本上添加一个用户和分配一个组你可以:
new_user_id = db.auth_user.insert(first_name="Admin",
last_name="Username",
email="mye...@address.com",
password=db.auth_user.password.requires[0]('mypassword')[0])
auth.add_membership('admin', db.auth_user(new_user_id) )
使用:
from gluon.storage import Storage
onaccept = auth.settings.register_onaccept.pop() # Disable registration callback.
alphabet = 'abcdefghijklmnopqrstuvwxyz'
for letter in alphabet:
user = auth.register_bare(first_name=letter, last_name=letter,
email='%s@%s.com' % (letter, letter),
username=letter, password='qwer')
user and onaccept(Storage(vars=user))
auth.settings.register_onaccept = [onaccept] # Restore registration callback.
以上暂时禁用了 register_onaccept
回调,因为 register_bare
中的错误阻止了它正常工作。相反,它在注册后手动调用,传入 user
对象(这是完整的用户记录,包括 id
字段)。
我想以编程方式注册用户,这样我就可以用多个用户测试我的应用程序。
我想到的方法是:
if db( db.auth_user ).count() == 0:
alphabet = 'abcdefghijklmnopqrstuvwxyz'
for letter in alphabet:
db.auth_user.validate_and_insert( first_name=letter , last_name=letter , email='%s@%s.com'%(letter , letter) , username=letter , password='qwer' )
然而,这并没有设置关于组成员等的其他表。
你可以看看here and here,基本上添加一个用户和分配一个组你可以:
new_user_id = db.auth_user.insert(first_name="Admin",
last_name="Username",
email="mye...@address.com",
password=db.auth_user.password.requires[0]('mypassword')[0])
auth.add_membership('admin', db.auth_user(new_user_id) )
使用:
from gluon.storage import Storage
onaccept = auth.settings.register_onaccept.pop() # Disable registration callback.
alphabet = 'abcdefghijklmnopqrstuvwxyz'
for letter in alphabet:
user = auth.register_bare(first_name=letter, last_name=letter,
email='%s@%s.com' % (letter, letter),
username=letter, password='qwer')
user and onaccept(Storage(vars=user))
auth.settings.register_onaccept = [onaccept] # Restore registration callback.
以上暂时禁用了 register_onaccept
回调,因为 register_bare
中的错误阻止了它正常工作。相反,它在注册后手动调用,传入 user
对象(这是完整的用户记录,包括 id
字段)。