web-dev-qa-db-ja.com

Django drf simple-jwt authentication "detail": "指定された資格情報を持つアクティブなアカウントが見つかりません"

カスタムユーザーMymodels.pyを使用してDjango-rest_framework_simple-jwtでユーザー認証を実装しています:

class UserManager(BaseUserManager):
    def create_user(self, email, username, password, alias=None):
        user = self.model(
        email = self.normalize_email(email),
                username = username,)
        user.set_password(password)
        user.save()
        return user
   def create_superuser(self, email, username, password):
       self.create_user(email, username, password)
       user.is_staff()
       user.is_superuser = True
       user.save()
       return user

class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(null=False, unique=True)
    username = models.CharField(max_length=25, unique=True)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)

    objects = UserManager()
    USERNAME_FIELD = "email"
    REQUIRED_FIELDS = ["username",]

だから私はrestframeworksimple-jwt認証を実装しています、私の設定.pyは次のとおりです:

REST_FRAMEWORK={
  'DEFAULT_AUTHENTICATION_CLASSES': [
      'rest_framework_simplejwt.authentication.JWTAuthentication',
   ]}

私のurls.py:

urlpatterns = [
       url(r'^api/token/$', TokenObtainPairView.as_view(),  name='token_obtain_pair'),
       url(r'^api/token/refresh/$', TokenRefreshView.as_view(), name='token_refresh'),]

ログインプロセスで、"detail": "No active account found with the given credentials"すべてのユーザーがアクティブであったというエラーが返されます。これを整理する手がかりがないので、助けが必要です。よろしくお願いします。

6
A.JRJ

設定で設定することを覚えていますか:

AUTH_USER_MODEL = 'your_app_name.User'
0
Leoog