django magic urls用于用户注册的最佳实践

时间:2013-09-13 23:16:10

标签: python django django-allauth

在django中为用户注册创建“魔术”网址的最佳做法是什么?目前,我们正在将allauth用于用户注册部分。我将使用组作为示例。您有一个群组,并且您希望轻松邀请新用户加入该群组。所以我们为每个组生成一个唯一的字符串,然后是相关的URL。

然后,您可以与新人分享该网址。他们访问该网址的意图最终是在新的用户注册页面上。一旦他们注册,他们就是该组的一部分。

这是最好的做法吗?我已将其构建到我们生成唯一组URL的位置。当用户点击该视图时,我们应该将其存储在会话中,将其隐藏在用户注册表单等中。PS,我并不完全是如何使用allauth隐藏和处理隐藏的表单元素。

1 个答案:

答案 0 :(得分:1)

您可以尝试制作自定义适配器&覆盖save_user方法。

然后,您可以将组信息存储在会话中,并在自定义适配器中使用它。

来自allauth.account.adapter的

导入DefaultAccountAdapter

class MyAdapter(DefaultAccountAdapter):
    def save_user(self, request, user, form, commit=True):
        user = super(MyAdapter, self).save_user(request, user, form, commit=commit)
        # do your custom stuff here
        return user

在您的设置中,添加此

ACCOUNT_ADAPTER = 'myapp.adapter.MyAdapter