Регистрация пользователей django
На сайте работает система контроля пользователей django-allauth. Проблемы со страницой регистрации. Я не могу использовать форму, получаемую страницей регистрации по умолчанию, так как в неё очень сложно внедрить мои стили. Поэтому я пишу свою, код которой представлен ниже. Мне нужно, чтобы если не удалось зарегестрировать пользователя, он мог видеть проблему. Пока я использую {% if form.errors %}, но он не говорит, какая именно ошибка возникла. Как мне выводить причину отклонения регистрации более конкретно?
signup.html
{% if form.errors %}
<center>
<p>
Не удалось зарегестрировать пользователя. Либо пользователь с таким логином уже существует, либо
введённые вами пароли не совпадают.
</p>
</center>
{% endif %}
<div id="form-margin">
<form action="{% url 'account_signup' %}" method="POST">
{% csrf_token %}
<center>
<div class="g">
<input type="text" class="text" name="username" autocomplete="off" id="login_id" required>
<label class="placeholder" for="login_id">Логин</label>
<span class="bar"></span>
</div>
<div class="g">
<input type="password" class="text" name="password1" id="password1_id" required>
<label class="placeholder" for="password1_id">Пароль</label>
<span class="bar"></span>
</div>
<div class="g">
<input type="password" class="text " name="password2" autocomplete="off" id="password2_id" required>
<label class="placeholder" for="password2_id">Повторите</label>
<span class="bar"></span>
</div>
<br>
<input type="submit" id="btnsubmit">
<h3>
Уже есть аккаунт? <br><br><a href="{% url 'login' %}">Войдите</a>.
</h3>
</center>
</form>
</div>
Ответы (1 шт):
ты в шаблоне проверяешь {% if form.errors %}, в нем находится словарь, в котором, хранится информация об ошибках формы в формате:
{
'имя_поля_1': ['ошибка 1', 'ошибка 2', ...],
'имя_поля_2': ['ошибка 1', 'ошибка 2', ...],
}
выведи содержимое этого словаря пользователю. Подробней в официальной документации.
Так же нужно не забыть о том, что есть еще non_field_errors