Django 用 userena 做用户注册验证登陆

django-admin startproject userena2
cd userena2
python manage.py startapp accounts
vim userena2/settings.py
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',
    'userena',
    'guardian',
    'easy_thumbnails',
    'accounts',
)

AUTHENTICATION_BACKENDS = (
    'userena.backends.UserenaAuthenticationBackend',
    'guardian.backends.ObjectPermissionBackend',
    'django.contrib.auth.backends.ModelBackend',
)

ANONYMOUS_USER_ID=-1
AUTH_PROFILE_MODULE = 'accounts.MyProfile'
LOGIN_REDIRECT_URL = '/accounts/%(username)s/'

#login/logout URL statements tell Django where to have the URLs for Django-Userena to work LOGIN_URL = '/accounts/signin/' LOGOUT_URL = '/accounts/signout/'

#settings.py add the modul 'django.contrib.sites', must set the SITE_ID
SITE_ID = 1
vim accounts/models.py

#以下内容加入
    from django.contrib.auth.models import User  
    from django.utils.translation import ugettext as _  
    from userena.models import UserenaBaseProfile  
      
    class MyProfile(UserenaBaseProfile):  
        user = models.OneToOneField(User,unique=True,  
                            verbose_name=_('user'),related_name='my_profile')  
        favourite_snack = models.CharField(_('favourite snack'),max_length=5)  
vim userena2/urls.py

#加入 
  url(r'^accounts/', include('userena.urls')),  
vim userena2/settings.py

#加入 EMAIL 发送参数
    EMAIL_USE_TLS = True  
    EMAIL_HOST = 'smtp.gmail.com'  
    EMAIL_PORT = 587  
    EMAIL_HOST_USER = 'yourgmailaccount@gmail.com'  
    EMAIL_HOST_PASSWORD = 'yourgmailpassword'  
python manage.py makemigrations
python manage.py migrate
python manage.py check_permissions

http://localhost:8000/accounts/signup

原文地址:https://www.cnblogs.com/zhenfei/p/6421424.html