Как создать обновление Ajax для django-simple-captcha

Я использую приложение django-simple-captcha для моего веб-сайта на основе django, я могу интегрировать поле формы captcha в свою форму, но проблема в том, как создать кнопку, которая вызывает Ajax refresh для обновления изображения captcha по щелчку? Документация для приложения не очень понятна, и я попытался следовать примеру, приведенному в документации, но он не работает. Пожалуйста, помогите мне в этом вопросе?

EDIT: вот ссылка на django пакет: Джанго-простой капчи

1 ответов


вот рабочая реализация в javascript:

$(function() {
    // Add refresh button after field (this can be done in the template as well)
    $('img.captcha').after(
            $('<a href="#void" class="captcha-refresh">Refresh</a>')
            );

    // Click-handler for the refresh-link
    $('.captcha-refresh').click(function(){
        var $form = $(this).parents('form');
        var url = location.protocol + "//" + window.location.hostname + ":"
                  + location.port + "/captcha/refresh/";

        // Make the AJAX-call
        $.getJSON(url, {}, function(json) {
            $form.find('input[name="captcha_0"]').val(json.key);
            $form.find('img.captcha').attr('src', json.image_url);
        });

        return false;
    });
});

тогда вам просто нужно добавить CSS для класса captcha-refresh, возможно, поместите изображение в <a> и вы хорошо идти!