2011-05-22 34 views
5

我在幾個精確的點上比較這3個非常不同的框架。我已經知道Django有更多的用戶,並且Pylons更加靈活。我是一個糟糕的程序員,所以我正在尋找一個讓我的事情變得簡單的框架。Django vs Pylons vs Web2py:註冊,邀請,事件

首先,我希望用戶能夠註冊他們的電子郵件地址:沒有愚蠢的用戶名!就像在Facebook上一樣,他們必須添加他們的名字和姓氏。我知道在舊的Django框架中做這件事並不容易。我已經測試了django註冊應用程序。它不允許這種類型的註冊!必須創建一個AUTHENTICATION_BACKEND。這對我來說太複雜了......我想知道在Pylons中是否存在一個簡單的解決方案。我已經看到在Web2Py中很容易做到。

二,我只希望被邀請的人被允許註冊。我想要一個電子郵件邀請系統。我知道它存在於Django中,但django-invitation應用程序在django註冊應用程序的頂部工作,所以它需要一個用戶名!在Pylons或Web2Py中是否有簡單的解決方案?

三,在我這種社交網絡應用中,我希望人們發消息給其他人。所以當他們輸入某人的名字時,它必須顯示爲一個現有的名字。有點像Stackoverflow上的「標籤系統」。在Django,Pylons或Web2py中這很容易嗎?

+0

如果您使用電子郵件作爲標識符,那麼我希望您永遠不要在公共頁面上顯示該標識符,因爲垃圾郵件製造者會將其關閉,您的用戶會感到惱火。 – Spacedman 2011-05-22 14:28:34

回答

2

關於顯示現有名稱的最後一點純粹是設計視圖,表單,JavaScript和模板的問題,因此在任何框架中都有相同的難度。

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和龍捲風進行異步聊天。在兩者之間,我相信你會得到你所需要的。