Как настроить формы регистрации 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
Если у вас есть причина, по которой вы не хотите использовать этот фрагмент кода, пожалуйста, сообщите мне, и я смогу обновить свой ответ