Как использовать JavaScript в HTML-файле Django для сообщений об ошибках? - PullRequest
0 голосов
/ 21 мая 2019

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

{% for field in form %}
    <span class="text-danger small">{{ field.errors }}</span>
{% endfor %}

Если я хочу использовать для этого сладкое оповещение, как я могу это сделать

Если я использую как нижепри загрузке страницы он выдаст пустое оповещение, но когда произойдет ошибка, он выдаст пустое оповещение, как при загрузке страниц, как я могу передать эти данные в сладкое оповещение, что я сделал не так? *

{% for field in form %}
    <span class="text-danger small">{{ field.errors }}</span>
    <script>
      var a = "{{ field.errors }}"
      swal(a)
    </script>
{% endfor %}

Ответы [ 2 ]

1 голос
/ 21 мая 2019

Произошла ошибка, поскольку сообщение об ошибке с двойными кавычками заключено в двойные кавычки.

Вы можете заключить его в литерал шаблона или в одинарные кавычки, чтобы выполнить без ошибок.

var a = `<ul class="errorlist"><li>Enter a valid email address.</li></ul>`;
console.log(a);
0 голосов
/ 21 мая 2019

Ошибки формы предоставляются form.errors в django, поэтому вставьте ошибку в dict errordict = {} и верните errordict в шаблон

В views.py

errodict={} 
   for f in form.errors:
             self.errordict[f] = '.'.join(form.errors[f])

В шаблоне

 {% if errodict %}
                            <script>
                            var r="{{ errodict }}";
                            alert('error:'+r)
                            </script>
                            {{ errodict}}
      {% endif %}
...