Django & LESS

User Model and Twitter Bootstrap

View project onGitHub

Django 1.5

Custom User Profile

accounts/models.py
from django.contrib.auth.models import AbstractBaseUser

class User(AbstractBaseUser):
    email = models.EmailField(max_length=254, unique=True, db_index=True)
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
    address = models.CharField(max_length=255)
    city = models.CharField(max_length=255)
    state = USStateField()
    zipcode = models.CharField(max_length=15)
    favorite_color = models.CharField(max_length=255)
    latitude = models.IntegerField()
    longitude = models.IntegerField()
    latitude = models.IntegerField(null=True)
    longitude = models.IntegerField(null=True)

    USERNAME_FIELD = 'email'

    @property
    def username(self):
         return self.email
accounts/auth.py
from django.contrib.auth import get_user_model

class CustomAuth(object):

    def authenticate(self, username=None, password=None):
        try:
            user = get_user_model().objects.get(email=username)
            if user.check_password(password):
                return user
        except get_user_model().DoesNotExist:
            return None

    def get_user(self, user_id):
        try:
            user = get_user_model().objects.get(pk=user_id)
            if user.is_active:
                return user
            return None
        except get_user_model().DoesNotExist:
            return None
settings.py
AUTH_USER_MODEL = 'accounts.User'
AUTHENTICATION_BACKENDS = ('DealsNearMe.apps.accounts.auth.CustomAuth',)