Как правильно отображать ошибки формы? - PullRequest
0 голосов
/ 09 июля 2019

Здесь я пытаюсь отобразить ошибки формы, и приведенный ниже код также работает, но проблема в том, что когда форма выдает ошибки поля, она также очищает все ранее добавленные значения из формы. Я просмотрел все решения в этом ссылка https://docs.djangoproject.com/en/2.2/topics/forms/, но все решение работает так же.

Что я действительно хочу, так это бросать полевые ошибки, такие как броски django {{form.as_p}} или {% bootstrap_form form %}, в мои собственные формы custom . Как это может быть возможно?

{% for field in form %}
 {% if field.errors %}
    <div class="alert alert-danger">
  {{ field.label }}: {{ field.errors|striptags }}
     </div>
    {% endif %}
 {% endfor %}

<div class="box-body">
<div class="row">
<div class="col">
 <form action="{% url 'do_something' %}" method="post">
{% csrf_token %}

 <div class="form-group">
    <b>Name</b>
    <div class="controls">
     {{# form.name.errors #}}
    <input type="text" name="name" class="form-control"> 
      </div>
    </div>
 <div class="form-group">
     <b>Address</b>
    <div class="controls">
    <input type="text" name="address" class="form-control"> 
     </div>
</div>                    

1 Ответ

1 голос
/ 09 июля 2019

Вам необходимо отредактировать HTML-код, как показано ниже, чтобы в ваших полях отображалось введенное значение:

<div class="form-group">
    <b>Name</b>
    <div class="controls">
     {{# form.name.errors #}}
    <input type="text" name="name" class="form-control" {% if form.name.value %} value='{{form.name.value}}' {% endif %}> 
      </div>
    </div>
 <div class="form-group">
     <b>Address</b>
    <div class="controls">
    <input type="text" name="address" class="form-control" {% if form.address.value %} value='{{form.address.value}}' {% endif %}> 
     </div>
</div> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...