Djoser Create User продолжает возвращать поле required и не создает пользователей
Я столкнулся с проблемой в postman, которой не было до вчерашнего дня, когда я работал с ним, и он работал нормально, но теперь он больше не работает.
Я пытаюсь создать пользователя, используя путь djoser по умолчанию, но всякий раз, когда я отправляю запрос, я сталкиваюсь с обязательным полем для имени пользователя и пароля, в то время как оба существуют, я также отправляю поле электронной почты, которое требуется django, но никакой помощи.
Я попробовал несколько подсказок в Интернете, но безуспешно.
В настройках код для djoser выглядит следующим образом:
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'rest_framework.authtoken', # djoser
'djoser', # djoser
'main',
)
# Password validation
# https://docs.djangoproject.com/en/5.0/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
REST_FRAMEWORK = { # 002
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication', # 012 Session --> Tokan #djoser
'rest_framework_simplejwt.authentication.JWTAuthentication',
'rest_framework.authentication.SessionAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticatedOrReadOnly',
),
'DEFAULT_PAGINATION_CLASS': # 011
'rest_framework.pagination.PageNumberPagination', 'PAGE_SIZE': 1,
'DEFAULT_THOTTLE_CLASSES': ( # 014
'rest_framework.throttling.AnonRareThrottle',
'rest_framework.throttling.UserRareThrottle',
),
'DEFAULT_THROTTLE_RATES': { # 014
'anon': '5/minute',
'user': '10/minute',
},
}
SIMPLE_JWT = {
"ACCESS_TOKEN_LIFETIME": timedelta(minutes=5),
"REFRESH_TOKEN_LIFETIME": timedelta(days=1),
"ROTATE_REFRESH_TOKENS": False,
"BLACKLIST_AFTER_ROTATION": False,
"UPDATE_LAST_LOGIN": False, # djoser
}
DJOSER = {
'SERIALIZERS': {
'user_create': 'main.serializers.UserCreateSerializer',
},
}
А вот сериализаторы, которые я написал для решения проблемы:
class UserSerializer(serializers.ModelSerializer):
class Meta:
extra_kwargs = {'is_superuser': {'write_only': True},
'is_staff': {'write_only': True},
'is_active': {'write_only': True},
'date_joined': {'write_only': True},
'groups': {'write_only': True},
'user_permissions': {'write_only': True}}
model = User
fields = "__all__"
class UserCreateSerializer(BaseUserCreateSerializer):
class Meta(BaseUserCreateSerializer.Meta):
fields = ['username', 'password', 'email']
Когда я ввожу информацию в postman, он выдает ошибку 400
Фактически, я хочу создать пользователя с этим URL
http://127.0.0.1:8000/auth/users/
и этот параметр:
{
"username": "user21",
"email": "test@any.com",
"password": "user_2024AA@",
}
Что мне делать?