Django vs Pylons vs Web2py:注册,邀请,活动

时间:2011-05-22 12:16:01

标签: django pylons registration web2py

我在几个精确的点上比较了这3个非常不同的框架。我已经知道Django有更多用户,Pylons更灵活。我是一个糟糕的程序员,所以我正在寻找一个让我的事情变得简单的框架。

首先,我希望用户能够注册他们的电子邮件地址:没有愚蠢的用户名!就像在Facebook上一样,他们必须添加他们的名字和姓氏。我知道在旧的Django框架中这并不容易。我测试了django-registration应用程序。它不允许这种类型的注册!一个人必须创建一个AUTHENTICATION_BACKEND。这对我来说太复杂了......我想知道在Pylons中是否存在一个简单的解决方案。我已经看到在Web2Py中很容易做到。

其次,我希望只允许被邀请的人注册。我想要一个电子邮件邀请系统。我知道它存在于Django中,但django-invitation应用程序在django-registration应用程序之上工作,所以它需要一个用户名!在Pylons或Web2Py中有一个简单的解决方案吗?

第三,在我的社交网络应用程序中,我希望人们向其他人发送消息。因此,当他们键入某人的名字时,它必须显示为现有名称。有点像Stackoverflow上的“标签系统”。在Django,Pylons或Web2py中这么容易吗?

2 个答案:

答案 0 :(得分:5)

关于web2py:

1)是的,这很容易。你这样做:

db.auth_user.insert(username='....', email=email)

mail.send(to=email,message='you are registered, please reset password')

2)是的,你可以

# store invitations
db.define_table('invitation',Field('token'))

# send invitations
for email in emails_to_invite:
    uuid=str(uuid.uuid4())
    db.invitation.insert(token = uuid)
    mail.send(to=email,message='click %s to register' % URL('register',args=uuid))

# allow them to register
def register():
    if not db(db.invitation.uuid==request.args(0)).count():
        redirect('error')
    delete = lambda form:db(db.invitation.uuid==request.args(0)).delete()
    return dict(form=auth.register(onaccept=delete))

3)不确定我理解。在plugin_wiki中有一个标记系统,在web2py / gluon / contrib / comet_messaging.py中使用html5 websockets和tornado进行异步聊天。在两者之间我相信你得到了你需要的东西。

答案 1 :(得分:2)

关于显示现有名称的最后一点纯粹是设计视图,表单,javascript和模板的问题,因此在任何框架中都存在同样的难度。