@windf1n

Ошибка при заходе на страницу, как решить?

Всех приветствую! Появилась проблема. Когда захожу на страницу регистрацию, django выдаёт ошибку.
Django подсказывает, что ошибка где-то тут:
во views выделенно то, что подчёркивает django:

class UserProfileManager(BaseUserManager):
    def _create_user(self, username, email, password,
                     is_superuser, **extra_fields):
        now = timezone.now()
        if not username:
            raise ValueError(_('Имя пользователя должно быть установлено'))
        email = self.normalize_email(email)
        user = self.model(username=username, email=email,
                          is_active=True,
                          is_superuser=is_superuser, last_login=now,
                          date_joined=now, **extra_fields)
        user.set_password(password)
        user.save()
        return user

    def create_user(self, username, email=None, password=None, **extra_fields):
        return self._create_user(username, email, password, False,
                                 **extra_fields)

    def create_superuser(self, username, email, password, **extra_fields):
        return self._create_user(username, email, password, True,
                                 **extra_fields)

    def get_user_by_b64username(self, b64username):
        try:
            return self.get(username=urlsafe_base64_decode(force_text(b64username)))
        except:
            raise Http404

    def get_main_admin(self):
        return self.filter(is_superuser=True).order_by('pk')[0]


и в моделях выделенно то, что подчёркивает django:

class UserProfileManager(BaseUserManager):
    def _create_user(self, username, email, password,
                     is_superuser, **extra_fields):
        now = timezone.now()
        if not username:
            raise ValueError(_('Имя пользователя должно быть установлено'))
        email = self.normalize_email(email)
        user = self.model(username=username, email=email,
                          is_active=True,
                          is_superuser=is_superuser, last_login=now,
                          date_joined=now, **extra_fields)
        user.set_password(password)
        user.save()
        return user

    def create_user(self, username, email=None, password=None, **extra_fields):
        return self._create_user(username, email, password, False,
                                 **extra_fields)

    def create_superuser(self, username, email, password, **extra_fields):
        return self._create_user(username, email, password, True,
                                 **extra_fields)

    def get_user_by_b64username(self, b64username):
        try:
            return self.get(username=urlsafe_base64_decode(force_text(b64username)))
        except:
            raise Http404

    def get_main_admin(self):
        return self.filter(is_superuser=True).order_by('pk')[0]


ошибка:
5c7534e745b8c101423330.png
5c7539661e915832241444.png
5c75397000ae5849886860.png

django 1.7.1
python 3.4.1
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
DDDsa
@DDDsa
Наверное, вместо

return self.filter(is_superuser=True).order_by('pk')[0]


надо

return self.filter(is_superuser=True).order_by('pk').first()


А вообще, проблема в том, что у вас, скорее всего, ещё нет ни одного суперюзера.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы