2011-05-22 13 views
5

Estoy comparando estos 3 marcos muy diferentes en algunos puntos precisos. Ya sé que Django tiene más usuarios y que Pylons es más flexible. Soy un mal programador, así que estoy buscando un marco que me facilite las cosas.Django vs Pylons vs Web2py: registro, invitación, eventos

Primero, quiero que los usuarios puedan registrarse con su dirección de correo electrónico: ¡no es un nombre de usuario estúpido! Al igual que en Facebook, tienen que agregar sus nombres y apellidos. Sé que esto no es fácil de hacer en el buen marco antiguo de Django. He probado la aplicación django-registration. ¡No permite este tipo de registro! Uno tiene que crear un AUTHENTICATION_BACKEND. Eso es demasiado complicado para mí ... Me pregunto si existe una solución fácil en Pylons. He visto que es fácil de hacer en Web2Py.

En segundo lugar, solo quiero que se permita el registro de personas invitadas. Quiero un sistema de invitación por correo electrónico. Sé que existe en Django, pero la aplicación django-invitation funciona en la parte superior de la aplicación django-registration, por lo que requiere un nombre de usuario. ¿Hay una solución fácil en Pylons o Web2Py?

En tercer lugar, en mi tipo de aplicación de red social, quiero que las personas envíen mensajes a otras personas. Entonces, cuando escriben el nombre de alguien, debe aparecer como un nombre existente. Un poco como el "sistema de etiquetas" en Stackoverflow. ¿Es fácil de hacer en Django, Pylons o Web2py?

+0

Si usa el correo electrónico como identificador, entonces espero que nunca muestre ese identificador en una página pública porque los creadores de spam lo desmenuzarán y sus usuarios se sentirán molestos. – Spacedman

Respuesta

2

Su punto final acerca de mostrar nombres existentes es simplemente una cuestión de diseño de vistas, formularios, javascript y plantillas, y como tal tiene más o menos la misma dificultad en cualquier marco.

5

Acerca de web2py:

1) sí que es fácil. Que acaba de hacer:

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

y

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

2) sí se puede

# 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) No estoy seguro de entender. Hay un sistema de etiquetado en plugin_wiki y un chat asincrónico que usa websockets html5 y tornado en web2py/gluon/contrib/comet_messaging.py. Entre los dos, estoy seguro de que obtienes lo que necesitas.