开发者

Super simple django e-mail based user registration system?

I found the django-registration app, but it seems to complex for what I 开发者_JS百科am trying to do. I want users to simply enter their e-mail (username) + a password and automatically be registered. No activations or confirmations. Hacker News style. Does anyone know what the simplest way to implement this would be? Is there something pre-existing out there that you know of (I couldn't find anything), should I somehow modify django-registration, or build this on my own?


Login/Authentication

To make Django authenticate using email/password instead of username/password, you will need to add to your settings.py:

AUTHENTICATION_BACKENDS = ('myproject.myauthenticationbackend')

This authentication backend needs to be able to authenticate a user based on email/password. A good email authentication backend can be found here: http://djangosnippets.org/snippets/74/

User Registration

Normally, your registration form will ask user for the email and password. However, Django's auth User model requires every user have a username. One way to handle adding a username is - upon saving of the registration modelForm, generate a random username (since we're not using it anyways).

You will need to check manually that the email the user has entered is already registered in your system.

I've also written a blog post about it a while back and has more complete notes on email authentication. It also includes a sample email/password registration form:

http://www.xairon.net/2011/05/django-email-only-authentication/


I don't know any app which is doing that but it seems quite simple. I don't think it is necessary to modify and use django-registration in this case.

Create a form that will ask for email and password and then create the corresponding user. The username may be generated from a slug of the email address.

Look at the following snippet for allowing to authenticate with an email address. http://djangosnippets.org/snippets/74/

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜