Авторизация не администратора в dgango-rest
Пыталась сделать авторизацию по видео-урокам. Работает только авторизация супер-пользователей. После регистрации пользователя через запрос(заносятся username и password) нельзя его авторизовать через login, токен получить тоже нельзя :/ Первый день работы с django, гуглила, ничего не нашла про это. Либо это наивно предполагать, что любого пользователя из базы можно авторизовать без дополнительных манипуляций. Используется базовая модель User. . Регистрация пользователя происходит так:
def create_new_user(request):
"Cоздание новго пользователя"
user_data = request.data
username = user_data['username']
if not is_user_exsist(username):
serializer = UserSerializer(data = user_data)
if serializer.is_valid(raise_exception=True):
serializer.create(user_data)
return {'status' : 'success'}
else:
return {'status' : 'user with this login already exists.'}
файл urls:
urlpatterns = [
....
path('api/v1/book_market/auth_token/', include('djoser.urls.authtoken')),
path('api/v1/book_market/auth/', include('djoser.urls')),
]
второй файл urls:
[ ...
path('api/v1/book_market/auth_token/', include('djoser.urls.authtoken')),
path('api/v1/book_market/auth/', include('djoser.urls')),
]
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework.authtoken',
'rest_framework',
'book_market',
'djoser',]
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.TokenAuthentication',
]
}
DJOSER = {
'PASSWORD_RESET_CONFIRM_URL': '#/password/reset/confirm/{uid}/{token}',
'USERNAME_RESET_CONFIRM_URL': '#/username/reset/confirm/{uid}/{token}',
'ACTIVATION_URL': '#/activate/{uid}/{token}',
'SEND_ACTIVATION_EMAIL': False,
'SERIALIZERS': {},
}
https://i.stack.imgur.com/Yz0yU.png