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 она не работает в шаблоне... есть проблемы? есть ли какое-нибудь решение, чтобы показывать ошибки из представлений в бэкенде без обновления страницы?

Вернуться на верх