Messages.error не работает с fetch js в форме, Django
просмотров:
if request.method == "POST":
user_name = request.POST['user_name']
email = request.POST['email']
password = request.POST['password']
re_password = request.POST['re_password']
if len(user_name) >= 16:
messages.error(request, 'Too long')
...
js:
const form = document.forms["register_form"];
const csrftoken = document.querySelector('[name=csrfmiddlewaretoken]').value;
form_data = new FormData(form);
myHeaders = new Headers()
myHeaders.append("X-CSRF-Token", csrftoken)
fetch("/account/register/", {
headers: myHeaders,
body: form_data,
method: "POST"
}).then(function (response) {
if (response.ok) {
console.log("successfully registered");
return response.json();
}
return Promise.reject(response);
}).then(function (data) {
console.log(data);
}).catch(function (error) {
console.warn('Custom Error:', error);
});
})
html:
<form method="POST" name="register_form" id="register-form">
{% csrf_token %}
....
fields
....
{% for message in messages %}
{{message}}
{% endfor %}
форма работает корректно и POST данные без перезагрузки страницы... но проблема в messages.error она не работает в шаблоне... есть проблемы?
есть ли какое-нибудь решение, чтобы показывать ошибки из представлений в бэкенде без обновления страницы?