Как передать JSONResponse обратно в шаблон Django

У меня есть пользовательская функция представления, которая будет автоматически выполняться, когда пользователь нарушит мою политику входа (это делается через django-axes). Я не могу отобразить данные JSONResponse в шаблоне Django. Могу ли я узнать, есть ли какой-нибудь обходной путь для этого?

HTML

<form role="agent-login" class="login" id="agentloginform" action="{% url 'agent-login' %}" method="post"> {% csrf_token %} <div class="form-group">
    <input type="text" placeholder="Email address" name="email" class="form-control">
  </div>
  <div class="form-group togglepassword-right">
    <input type="password" placeholder="Password" name="password" class="form-control">
    <i class="glyphicon glyphicon-eye-open form-control-feedback" id="togglePassword"></i>
  </div>
  <p class="text-danger text-center" id="lockout-error" style="display:none;"> {{ errors.password }} {{ login }}</p>
  <div class="form-group">
    <button data-request="ajax-submit" data-target="[role='agent-login']" class="btn-1 " type="button" id="agent-submit"> Login now </button>
  </div>
</form>

пользовательский вид

def user_lockout(request, credentials):
    """
    Custom accout lockout message for django-axes.
    change custom_account_lockout_message accordingly to what you need.
    """
    response_data = {
        "login": "Failed",
        "error": settings.CUSTOM_AXES_SOFT_LOCKOUT_MESSAGE,
    }
    return HttpResponse(JsonResponse(response_data))

Я думал использовать ajax для получения данных JSONResponse. Но поскольку это пользовательская кнопка, которая была сделана другими, я не смогу изменить ее.

Вот что я придумал


$('#agent-submit').click(function(e) {
    console.log('pressed');
    console.log($(this).serialize())
    console.log(e)
    $.ajax({
        type: 'POST',
        dataType: 'json',
        url: '{% url '
        agent - login ' %}',
        data: $(this).serialize(),
        success: function(response) {
            var dd = jQuery.parseJSON(response)
            console.log(dd)
            console.log('finally working');
            $('#lockout-error').text(dd.error), $('#lockout-error').css("display", "block")
        },
        error: function(response) {
            console.log('error');
            console.log(response);
        }
    });
});
Вернуться на верх