Как хэшировать пароль в django при создании пользователя
вот мои представления из проекта django. как мне хэшировать свой пароль
@api_view(['POST'])
def register(request):
data = request.data
serializer = SignUpSerializers(data=data)
if serializer.is_valid():
if not CustomUser.objects.filter(email=data['email']).exists():
user = CustomUser.objects.create(
first_name = data['first_name'],
last_name = data['last_name'],
email = data['email'],
username = data['username'],
password = data['password']
)
return Response({
'details':"User registered sucessfully."
}, status.HTTP_201_CREATED)
return Response({
'error':"Email already exists."
}, status.HTTP_400_BAD_REQUEST)
return Response(serializer.errors)
лучше всего использовать хэширование при создании пользователя или при сохранении в модели
Вы можете хэшировать свой пароль с помощью make_password
from django.contrib.auth.hashers import make_password
@api_view(['POST'])
def register(request):
data = request.data
serializer = SignUpSerializers(data=data)
if serializer.is_valid():
if not CustomUser.objects.filter(email=data['email']).exists():
user = CustomUser.objects.create(
first_name = data['first_name'],
last_name = data['last_name'],
email = data['email'],
username = data['username'],
password = make_password(data['password'])
)
return Response({
'details':"User registered sucessfully."
}, status.HTTP_201_CREATED)
return Response({
'error':"Email already exists."
}, status.HTTP_400_BAD_REQUEST)
return Response(serializer.errors)