DJANGO РЕГИСТРАЦИЯ ПО НОМЕРУ ТЕЛЕФОНА
В Django существуют различные способы организации регистрации пользователей. Один из них - это регистрация по номеру телефона.
Для реализации этой функции необходимо выполнить несколько шагов. Во-первых, необходимо установить дополнительный пакет django-phonenumber-field:
pip install django-phonenumber-field
Затем в models.py нужно создать модель пользователя, в которой будет использоваться PhoneNumberField для хранения номера телефона.
from django.contrib.auth.models import AbstractBaseUser, BaseUserManagerfrom phonenumber_field.modelfields import PhoneNumberFieldclass CustomUserManager(BaseUserManager): def create_user(self, phone_number, password=None, **extra_fields): if not phone_number: raise ValueError('The Phone Number is required!') user = self.model( phone_number=self.normalize_phone_number(phone_number), **extra_fields ) user.set_password(password) user.save() return user def create_superuser(self, phone_number, password=None, **extra_fields): extra_fields.setdefault('is_staff', True) if extra_fields.get('is_staff') is not True: raise ValueError('Superuser must have is_staff=True.') if extra_fields.get('is_superuser') is not True: raise ValueError('Superuser must have is_superuser=True.') return self.create_user(phone_number, password, **extra_fields) def normalize_phone_number(self, phone_number): # implement your own logic here for normalizing phone numbers return phone_numberclass CustomUser(AbstractBaseUser): phone_number = PhoneNumberField(unique=True) USERNAME_FIELD = 'phone_number' REQUIRED_FIELDS = [] objects = CustomUserManager()
Далее нужно создать форму регистрации пользователей:
from django import formsfrom phonenumber_field.formfields import PhoneNumberFieldclass CustomUserCreationForm(forms.ModelForm): phone_number = PhoneNumberField() class Meta: model = CustomUser fields = ['phone_number']
И, наконец, нужно создать представление (view) для обработки формы:
from django.shortcuts import render, redirectfrom django.contrib import messagesfrom .forms import CustomUserCreationFormdef register(request): if request.method == 'POST': form = CustomUserCreationForm(request.POST) if form.is_valid(): form.save() messages.success(request, 'Account created successfully') return redirect('home') else: form = CustomUserCreationForm() return render(request, 'registration/register.html', {'form': form})
Теперь пользователи могут зарегистрироваться на сайте, используя свой номер телефона.
Авторизация по номеру телефона и верификация смс на laravel и livewire
Django 4.0 - делаем регистрацию и аутентификацию пользователей без лишнего кода
Otp verification Django - SMS verification Django - Phone verification Django
#19. Регистрация пользователей на сайте - Django уроки
Делаем авторизацию по номеру телефона или email в Django
Django Middleware — что это, зачем и как использовать
Custom User Model - вход по phone, email, username 🔴 #009 Django СТРИМ
Базовая аутентификация пользователя в django, Django authentication system
Django. Урок 7. Регистрация, авторизация пользователей
Новые материалы:
- Адаптер паттерн python
- Парсер python многопоточный
- Парсинг файла txt python
- Np reshape python описание
- Python как установить на сервер
- Python pycharm настройка
- Ответы на сириус курсы python
- Python сумма чисел от 1 до n
- Python метод intersection
- Python метод прогонки
- Нажмите любую клавишу для продолжения python
- Месяц month python
- Property декоратор python