Django Просмотр без обработанного ответа - PullRequest
0 голосов
/ 09 июля 2020

Я хочу использовать кнопку для передачи целого числа через URL-адрес в свой views.py. Я хочу, чтобы эта функция в views.py не загружала новые шаблоны и не отображала HttpResponses.

Есть ли способ вызвать эту функцию с помощью pu sh кнопки, но не перезагружать новую страницу?

Вот кнопка в шаблоне HTML:

<a button type="button" class="btn btn-secondary" href="../../frage1f1/1/">1</a>

Вот часть urls.py:

path('frage1f1/<int:f1>/', views.frage1f1),

Вот метод Python в views.py:

def frage1f1(request, f1):
collection = database["Survey_1"]
collection.update_one({"_id": ObjectId(document_id)}, {"$set":{Frage1: f1}}, upsert= True)
return HttpResponse("Frage 1 beantwortet")

Я просто хочу передать целое число функции, а не перезагружать новую страницу. Возможно ли это?

Я новичок в этом и буду очень благодарен за любой совет.

Заранее спасибо. Привет

1 Ответ

0 голосов
/ 09 июля 2020

Да, одно из решений - использовать AJAX, тогда запрос отправляется на сервер, но страница не перезагружается. Учебное пособие с использованием jQuery

, пример с использованием jQuery (для работы необходимо включить jQuery библиотеку ):

Внутри шаблон

<a button type="button" class="btn btn-secondary" href="#">1</a>

<script type="text/javascript">
    $(document).on('click', 'a.btn', function(){

        //get the number inside button
        number = $(this).html();

        //send ajax request to the server
        $.ajax({
           url: "../../frage1f1/" + number + "/", 
           success: function(result){}
       });

    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...