Как настроить формы регистрации django allauth так, чтобы они выглядели так, как я хочу?

Как сделать форму регистрации без использования этого кода

<form class="signup" id="signup_form" method="post" action="{% url 'account_signup'}">
  {% csrf_token %}   {{ form.as_p }}   {% if redirect_field_value %} <input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />   {% endif %} <button type="submit">{% trans "Sign Up" %} »</button>
</form>

Вот небольшой фрагмент пользовательской подписки html

<div class="group-35">
          <form class="signup" id="signup_form" method="post" action="{% url 'account_signup'}">
            {% csrf_token %}
          <div class="overlap-group-container-1">
            <input class="overlap-group1 border-1px-dove-gray -applesystemuifont-regular-normal-black-20px" type="text" id="first_name" name="first_name" placeholder="First Name"/>
            <input class="overlap-group2 border-1px-dove-gray -applesystemuifont-regular-normal-black-20px" type="text" id="last_name" name="last_name" placeholder="Last Name"/>
          </div>
          <div class="overlap-group">
            <input class="rectangle border-1px-dove-gray -applesystemuifont-regular-normal-black-20px" type="email" id="email" name="email" placeholder="Email"/>
          </div>

Этот код был сгенерирован с помощью anima, и я хочу использовать поля ввода для регистрации пользователя. Итак, из этого фрагмента я хочу зарегистрировать пользователя с помощью имени, фамилии и электронной почты, которые он ввел в поля ввода.

Я не понимаю, почему вы не хотите использовать этот конкретный фрагмент кода, но если вы не против его использования, вы можете просто переопределить форму, которую использует django allauth для добавления полей для имени и фамилии (по умолчанию allauth включает email)

В settings.py:

ACCOUNT_FORMS = {
    'signup': 'yourapp.forms.CustomSignupForm',
}

В yourapp/forms.py:

from django import forms
from allauth.account.forms import SignupForm
class CustomSignupForm(SignupForm):
    first_name = forms.CharField(required=True)
    last_name = forms.CharField(required=True)

Теперь форма регистрации должна включать оба этих новых поля, если вы используете form.as_p

Если у вас есть причина, по которой вы не хотите использовать этот фрагмент кода, пожалуйста, сообщите мне, и я смогу обновить свой ответ

Вернуться на верх