стоит заполнить в модели REQUIRED_FIELDS, вписать туда 'email'
Это, конечно, стоит указать в статье. Вероятно, скоро должна появиться возможность рецепты редактировать.
Отлично, все заработало. Я новичек - не бейте ногами. Вопрос к последней части Вашей статьи. Подключение к админке. Делал по Вашей ссылке получил:
в сеттингс:
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'app.auth_backends.CustomUserModelBackend',
)
CUSTOM_USER_MODEL = 'app.models.CustomUser'
AUTH_USER_MODEL = 'app.models.CustomUser'
в auth_backends.py:
from django.conf import settings
from django.contrib.auth.backends import ModelBackend
from django.core.exceptions import ImproperlyConfigured
from django.db.models import get_model
class CustomUserModelBackend(ModelBackend):
def authenticate(self, username=None, password=None):
try:
user = self.user_class.object.get(username=username)
if user.check_password(password):
return user
except self.user_class.DoesNotExist:
return None
def get_user(self, user_id):
try:
return self.user_class.object.get(pk=user_id)
except self.user_class.DoesNotExist:
return None
@property
def user_class(self):
if not hasattr(self, '_user_class'):
self._user_class = get_model(*settings.CUSTOM_USER_MODEL.split('.', 2))
if not self._user_class:
raise ImproperlyConfigured('Could not get custom user model')
return self._user_class
ну и проблема:(админка)
from django.contrib import admin
from django.contrib.auth.models import User
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.forms import ReadOnlyPasswordHashField
from django.contrib.auth.forms import UserChangeForm
from django.utils.translation import ugettext_lazy
from app.models import *
class CustomUserChangeForm(UserChangeForm):
password = ReadOnlyPasswordHashField(
label=("Password"),
help_text=("Raw passwords are not stored, so there is no way to see "
"this users password, but you can change the password ")
)
def clean_password(self):
return self.initial["password"]
class Meta():
model = CustomUser
fields = '__all__'
class CustomUserAdmin(UserAdmin):
form = CustomUserChangeForm
list_display = ('username', 'last_name', 'first_name', 'second_name', 'is_staff', 'is_active')
fieldsets = (
(None, {'fields': ('username', 'password')}),
(('Personal info'), {'fields': ('first_name', 'second_name', 'last_name', 'email', 'timezone')}),
(('Permissions'), {'fields': ('is_active', 'is_staff', 'is_superuser', 'user_permissions')}),
(('Important dates'), {'fields': ('last_login', 'date_joined')}),
(('Groups'), {'fields': ('groups')}),
)
admin.site.register(CustomUser, CustomUserAdmin)
соответственно пользуюсь syncdb и выводит ошибку:
ValueError: too many values to unpack (expected 2)
http://postimg.org/image/eyiqxt2mn/ - скрин
Updated 20 Oct. 2015, 12:11 by FlatOMG.