Почему, когда я пытаюсь создать пользователя в django, форма не реагирует?

#django #django-models #django-forms #django-views

#django #django-модели #django-forms #django-просмотры

Вопрос:

Я пытался создать клиента:

models.py

 class Customer(models.Model):
    user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)
    name = models.CharField(max_length=20, null=True)
    phone = models.CharField(max_length=10, null=True)
    email = models.CharField(max_length=40, null=True)
  

с использованием этой формы

forms.py

 class CreateUserForm(UserCreationForm):
    class Meta:
        model = User
        fields = ['username', 'email', 'password1', 'password2']
        widgets = {
            'username': forms.TextInput(attrs={'placeholder': 'username'}),
            'email': forms.TextInput(attrs={'placeholder': 'email'}),
            'password1': forms.TextInput(attrs={'placeholder': 'password'}),
            'password2': forms.TextInput(attrs={'placeholder': 'repeat password'}),
        }
  

HTML

 
        <form method="post">
            {% csrf_token %}
            <ul class="list-group list-group-flush">
                <li class="list-group-item"><p>{{ form.username }}</p></li>
                <li class="list-group-item"><p>{{ form.email }}</p></li>
                <li class="list-group-item"><p>{{ form.password1 }}</p></li>
                <li class="list-group-item" style="border-bottom: 1px solid #e4e5e6;"><p>{{ form.password2 }}</p></li>
            </ul>
            <input class="btn btn-primary" type="submit" type="button" style="width: 27%;margin-left: 63%;margin-top: 4%;">
        </form>

  

views.py

 def register(request):
    form = CreateUserForm()
    if request.method == 'POST':
        form = CreateUserForm(request.POST)
        if form.is_valid():
            user = form.save()
            group = Group.objects.get(name='customer')
            user.groups.add(group)
            user.objects.create(
                user=user,
                name=user.username,
            )
            return redirect('/')
    return render(request, 'register_page.html', {
        'form': form,
    })
  

но когда я нажимаю отправить, ничего не происходит, и запись не создается.
Пожалуйста, помогите: (

dasdsadasdasdasdfasewgaggiuhihqworeghoashgiiasigjioasigjiaipgjiaiasoopijpgjiaspjgpisapigaspj

Комментарии:

1. Пожалуйста, попробуйте заменить <input class="btn btn-primary" type="submit" type="button" style="width: 27%;margin-left: 63%;margin-top: 4%;"> на <input class="btn btn-primary" type="submit" style="width: 27%;margin-left: 63%;margin-top: 4%;"> . Т.е. оставить только type="submit" (без объявления кнопки).

Ответ №1:

 if form.is_valid():
        user = form.save()
        group = Group.objects.get(name='customer')
        user.groups.add(group)
        user.save()
        Customer.objects.create(
            user=user,
            name=user.username,
        )
        return redirect('/')