使用Django进行两步用户注册

时间:2012-04-07 17:24:07

标签: python django django-forms

我正在使用Django创建一个网站,并希望进行相当常见的两步用户注册。我的意思是用户填写一些基本的用户信息+一些特定于应用程序的信息(有点像优惠券价值)。提交后,将发送电子邮件以确保电子邮件地址有效。这封电子邮件应该包含一个链接,点击“完成”#34;注册。单击链接后,用户将被标记为已验证,并将其定向到新页面以完成可选的用户配置文件"类型信息。

所以,非常基本的东西。我做了一些研究,发现了James Bennett的django-registration。我知道詹姆斯是谁,并且过去曾在PyCons和DjanoCons见过他。世界上很少有人比詹姆斯更了解Django(因此,我知道代码/应用程序的质量很好)。但是,它似乎有点过分杀人。我已经阅读了文档并且有点困惑(也许我今天只是有点密集)。我相信如果我使用django-registration,我将需要一些自定义表单等。

还有什么我应该评估吗?或者有关于使用django-registration的任何好的教程或视频吗?我已经做了一些谷歌搜索,但没有找到任何东西。但是,我怀疑这可能是很多非常常见的词汇,并没有真正找到你想要的东西(django用户注册教程/例子)。

或者只是用Django表单等构建自己的解决方案就好了吗?

以下是我使用的技术堆栈:

Python 2.7.2 
Django 1.3.1
PostgreSQL 9.1
psycopg2 2.4.1
Twitter Bootstrap 2.0.2

2 个答案:

答案 0 :(得分:4)

django-registration实际上很容易上手,虽然取决于你正在看哪些文档,它看起来有点压倒性。你在看the quickstart guide吗?

您真正需要做的就是安装它,为您的设置和urls.py各添加一行,并制作一些模板。我认为可能有更好的示例模板,但是here are the ones for an old project of mine

该项目使用了在原始注册表单中放置个人资料信息的方法,这意味着制作a simple subclass of RegistrationForm,制作small registration backendhacking that into the registration urls。 (现在可能有更好的方法可以做到这一点;我最初在4年前写过这篇文章并且在2年内没有触及过它。但这有效并且不是很难。)

然后,您可以通过添加指向activation_complete页面的链接来重定向以填写选项用户个人资料信息,或者可能更直接地通过更改django-registration中我不知道的一些设置来直接填写。

答案 1 :(得分:1)

Checkout Pinax,因为它试图简化网站的所有锅炉板方面。