Добрый день.
Появилась задача таскать на каждой странице сайта форму авторизации.
Сделал через inclusion tag.
<form method="post" action="{% url 'login' %}">
{% csrf_token %}
<tr>
<td>
<label class="" for="name"></label>
{{ auth_form.username }}
</td>
<td>
<label class="" for="pwd"></label>
{{ auth_form.password }}
<input type="submit" class="header__form_button" value="ОК">
</td>
</tr>
</form>
Но не знаю как вернуть ошибку, понятное дело форму не прокинешь в любое view.
На ум пришло использовать messages.
if request.method == 'POST':
form = AuthUserFormPanel(data=request.POST)
if form.is_valid():
login(request, form.get_user())
return HttpResponseRedirect(request.META.get('HTTP_REFERER'), '/')
messages.add_message(request, messages.ERROR, form.errors)
return HttpResponseRedirect(request.META.get('HTTP_REFERER'), '/')
Однако form.errors возвращает:
<ul class="errorlist"><li>__all__<ul class="errorlist nonfield"><li>Пожалуйста, введите правильные имя пользователя и пароль. Оба поля могут быть чувствительны к регистру.</li></ul></li></ul>
А мне нужно только текст
Пожалуйста, введите правильные имя пользователя и пароль. Оба поля могут быть чувствительны к регистру.
Не парсить же этот вывод?