1

我是 Django 新手,正在尝试为新用户构建一个需要以下步骤的社交网站:

填写注册表 -> 填写一些个人资料表格 -> 通过电子邮件验证帐户 -> 使用

pip 已安装 Django 1.5.4。

我的问题是:对于这个场景,我应该使用Django-registraion还是本地 Django-auth 或其他模块?您会推荐哪个选项,为什么?

4

2 回答 2

1

这实际上取决于您想要拥有的定制级别。

注册表可能看起来有点像不同 Django 项目之间的重复性任务,并且它考虑到大多数注册过程都需要相同的基本步骤。但是,对于不同的项目,您可能需要扩展或排除某些步骤。

这是我用于注册的视图示例:

def register(request):
    if request.method == 'POST':
        register_form = RegisterForm(request.POST)
        if register_form.is_valid():
            data = register_form.data

            # create user
            user = User.objects.create_user(
                username=data.get('username'),
                email=data.get('email'),
                password=data.get('password'),
            )

            if user is not None:
                auth = authenticate(username=data.get('username'), password=data.get('password'))
                login(request, auth)

                messages.success(request, _('Your new user has been created.'))
                return redirect(reverse('home'))
            else:
                messages.error(request, _('Oops! Error.'))
    else:
        register_form = RegisterForm()

    return render(request, 'accounts/register.html')

这几乎适用于我所有的项目。RegisterForm拥有所有的魔力。

于 2013-10-16T14:53:01.503 回答
0

django-allauth 是一个相当完整的解决方案。即使您对社交登录和集成功能不感兴趣,也可以轻松处理用户注册、个人资料、电子邮件验证等。

于 2013-10-18T15:03:32.350 回答