В моих моделях есть имя пользователя, дата рождения, язык, валюта и т. Д. c ...
Мне нужно, чтобы гость указал там имя пользователя, адрес электронной почты, пароль (обязательно) и дату рождения (необязательно), когда они попробуйте зарегистрироваться. но ошибка возникает.
Ошибка типа в / users / sigup create_user () принимает от 2 до 4 позиционных аргументов, но было дано 5
models.py
username = models.CharField(max_length=10, blank=False, unique=True)
language = models.CharField(
choices=LANGUAGE_CHOICES, max_length=2, blank=True, default=LANGUAGE_KOREAN)
currency = models.CharField(
choices=CURRENCY_CHOICES, max_length=2, blank=True, default=CURRENCY_KOREA)
birthdate = models.DateField(blank=True, null=True)
login_method = models.CharField(
max_length=50, choices=LOGIN_CHOICES, default=LOGIN_EMAIL)
forms.py
def save(self):
username = self.cleaned_data.get("username")
email = self.cleaned_data.get("email")
password = self.cleaned_data.get("password")
birthdate = self.cleaned_data.get("birthdate")
user = models.User.objects.create_user(
username, email, password, birthdate)
user.save()
views.py
class SignUpView(FormView):
template_name = "users/signup.html"
form_class = forms.SignUpForm
success_url = reverse_lazy("cores:home")
def form_valid(self, form):
form.save()
username = form.cleaned_data.get("username")
email = form.cleaned_data.get("email")
password = form.cleaned_data.get("password")
birthdate = self.cleaned_data.get("birthdate")
user = authenticate(self.request, email=email, password=password)
if user is not None:
login(self.request, user)
return super().form_valid(form)
хотите войти в систему гостя с электронной почтой и пароль, но как мне его получить?