Джанго против Пилонс против Web2py: регистрация, приглашение, события - PullRequest
5 голосов
/ 22 мая 2011

Я сравниваю эти 3 очень разные рамки в нескольких точных точках.Я уже знаю, что у Django больше пользователей и что Pylons более гибок.Я плохой программист, поэтому я ищу фреймворк, который облегчит мне задачу.

Во-первых, я хочу, чтобы пользователи могли регистрироваться со своим адресом электронной почты: без глупого имени пользователя!Как и на Facebook, они должны добавить свои имена и фамилии.Я знаю, что это нелегко сделать в старой доброй среде Django.Я протестировал приложение для регистрации в django.Это не позволяет этот тип регистрации!Нужно создать AUTHENTICATION_BACKEND.Это слишком сложно для меня ... Интересно, существует ли простое решение в Pylons.Я видел, что это легко сделать в Web2Py.

Во-вторых, я хочу, чтобы только приглашенные люди могли быть зарегистрированы.Я хочу систему приглашений по электронной почте.Я знаю, что он существует в Django, но приложение django-приглашения работает поверх приложения django-registration, поэтому для него требуется имя пользователя!Есть ли простое решение в Pylons или Web2Py?

В-третьих, в моем приложении для социальных сетей я хочу, чтобы люди отправляли сообщения другим людям.Поэтому, когда они вводят чье-то имя, оно должно отображаться как существующее имя.Немного похоже на «систему тегов» в Stackoverflow.Это легко сделать в Django, Pylons или Web2py?

Ответы [ 2 ]

5 голосов
/ 22 мая 2011

О 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 есть система тегов и асинхронный чат с использованием веб-сокетов html5 и торнадо в web2py / gluon / contrib / comet_messaging.py. Между двумя я уверен, что вы получите то, что вам нужно.

2 голосов
/ 22 мая 2011

Ваше последнее замечание по поводу показа существующих имен - это просто вопрос проектирования представлений, форм, javascript и шаблонов, и, как таковая, примерно такая же сложность в любой среде.

...