,вот код forms.py - https://pastebin.com/YKJ5HWRq и вот код models.py - https://pastebin.com/CxgKHWPi
Валидацию проходят данные?
на одной страничке все файлы выкладывай, обозначай разные файлы комментарием
Да
Откуда знаешь?
Я пробовал в этом условии: a = User(name_user="fsds", email_user="fdsfdsf@fsfs.fs", password="fsdfs") a.save() И работает
зачем эта часть после if form.is_valid?
Напиши после form.is_valid() : print("True")
Не выводится
Ну вот
во первых form.save, во вторых ты сохраняешь не хешированнй пароль, это не будет работать
Это ему уже не раз говорили, ни в какую
Там не ModelForm а Form
class UserForm(forms.ModelForm): class Meta: model = User
Вчера Form кидал не увидел. Вообще есть UserCreationForm
ну вот и в ней правильно сохраняет пароль, а так сохраняет не хешированный
да можно и через форму
У него User обычной моделью прописан
ну можно все на обычных моделях и формах сделать же, тут вопрос что пароли все равно хэшировать нужно)
Нужно метод писать или вообще кастомный менеджер
Много всего писать нужно) но в целом хватит наследования от правильных классов и form.save()
Так хешировать: hash_password = form.crew_password = make_password(password) ?
Для начала ты просто не проходишь валидацию, а затем не правильно сохраняешь форму
А почему валидация не проходит?
Не правильный ввод данных видимо
Я не знаю почему двойное присваивание) но в целом через мэйк пасворд, да
Можно через сет как выше предлагали
Да,я почту не правильно ввёл
Но это доп запрос
Да,теперь всё работает
Реализуй вывод ошибок в шаблон и измени сохранение обьекта
А как созранять объекты?
А какие классы правильные?
У тебя много что не так, тебе просто лень
if form.is_valid(): name_user = form.cleaned_data['name_user'] email_user = form.cleaned_data['email_user'] password = form.cleaned_data['password'] a = User(name_user=name_user, email_user=email_user, password=password) a.save() return HttpResponseRedirect('polls/registration.html') хм дам такой совет лучше вместо того чтоб пихать весь код в 1 условие лучше впихай ошибку типа так if not form.is_valid(): raise ValidationError(f"not valid data") и тут продолжай свой этот код name_user = form.cleaned_data['name_user'] email_user = form.cleaned_data['email_user'] password = form.cleaned_data['password'] a = User(name_user=name_user, email_user=email_user, password=password) a.save() return HttpResponseRedirect('polls/registration.html')
так красивее и понятнее
ОК,спасибо
Обсуждают сегодня