форма не сохраняет данные в бд джанго

Рейтинг: 0Ответов: 1Опубликовано: 18.05.2023

views.py

def registrat(request):
    if request.method == 'POST':
        form = RegForm(request='POST')
        if form.is_valid():
            new_user = form.cleaned_data
            new_user = form.save()

            messages.success(request, 'Регистрация прошла успешно!')
            print(new_user)
            return HttpResponseRedirect('log_in')
        else:
            messages.error(request, 'Ошибка в заполнении формы!')
    else:
        form = RegForm()

    context = {'form': form}

    return render(request, 'regist.html', context)

forms.py

from django.contrib.auth.forms import AuthenticationForm,UserCreationForm

from .models import User


class RegForm(UserCreationForm):
    class Meta:
        model = User
        fields = ('username','email','password1','password2')


class LoginForm(AuthenticationForm):
    class Meta:
        model = User

        fields = ('username', 'password')

models.py

from django.db import models
from django.contrib.auth.models import AbstractUser


class User(AbstractUser):
    status = models.CharField(default='Ваш статус',max_length=50)

    def __str__(self):
        return self.username

Ответы

▲ 0
def registrat(request):
    form = RegForm(request.POST or None)
    if request.method == 'POST':
        if form.is_valid():
            form.save()
            messages.success(request, 'Регистрация прошла успешно!')
            print(new_user)
            return HttpResponseRedirect('log_in')
        else:
            messages.error(request, 'Ошибка в заполнении формы!')
    context = {'form': form}

    return render(request, 'regist.html', context)