Я создаю систему входа в систему и регистрации с помощью Usercreationform, но всякий раз, когда пользователь вводит некоторые неправильные данные, он отображается как обычный черный текст под полем, в котором произошла ошибка, которая действительно не привлекает внимание пользователей.Как я могу отредактировать HTML в сообщении об ошибке, чтобы ошибка стала красной или что-то в этом роде.
Учебное пособие по визуализации форм вручную
А конкретнее, как отображать ошибки красным цветом.
{% if field.errors %} <ul style="list-style-type: none; color:red"> {% for error in field.errors %} <li><strong>{{ error|escape }}</strong></li> {% endfor %} </ul> {% endif %}
Взгляните на Django-Crispy-Form, он загрузит автоматически вашу форму, поэтому ошибка и форма будут выглядеть лучше практически без усилий.
Вот как добавить его в ваш проект:
Установка django-crispy-форм
Установите последнюю стабильную версию в путь к Python, используя pip или easy_install:
pip install --upgrade django-crispy-forms
Добавьте crispy_forms к вашему INSTALLED_APPS в settings.py:
INSTALLED_APPS = ( ... 'crispy_forms', ) CRISPY_TEMPLATE_PACK = 'bootstrap4'
в заголовке HTML не забудьте включить
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
И конец тела:
<!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
Тогда, если вы хотите использовать его, просто загрузите тег и добавьте | crispy после вашей формы (в html), например:
{% load crispy_forms_tags %} <form method="post"> {% csrf_token %} {{ form|crispy }} <button type="submit" class="btn btn-primary">Sign in</button> </form>
И для справки: проектная документация: https://django -crispy-forms.readthedocs.io / en / latest /
И учебник об этом: https://simpleisbetterthancomplex.com/tutorial/2018/11/28/advanced-form-rendering-with-django-crispy-forms.html