Как в Django при нажатии на кнопку на HTML-странице вызывать функцию python (файл views.py)

У меня есть HTML-страница, в которой есть кнопка "Ввести", при нажатии на которую вызывается функция "function saving_readings_in_the_DB(label_period)", а эта функция должна вызывать функцию "saving_readings_in_the_DB" Но функция saving_readings_in_the_DB не вызывается. Пожалуйста, помогите В принципе, вот здесь уже дан ответ на вопрос: https://stackoverflow.com/questions/59140343/django-how-to-call-a-python-function-from-html-button-without-reloading-page

Но из него непонятно, где функция python (которая находится в файле views.py) и не работает

<html>


<head>
    <title>Квартира</title>
</head>


<meta name= "viewport" content= "width=device-width, initial-scale=1">   <!-- Эта строка подстраивает содержимое страницы под размер любого экрана (даже смартфорна) -->


<body>
    <b>
        <label id= "label_period" for= "label_meter_readings">Показания счётчиков за </label>
        <button onclick= "button_back()"><<</button>
        <label id= "label_period_2" for= "label_period_2">{{list_periods.2}}</label></td>
    </b>
    
    <button onclick= "button_next()">>></button>

    <p>
        <table> 
            <tr>
                <td><label for= "field_1">Предыдущие</label></td>
                <td><label for= "field_3">Текущие</label></td>
            </tr>

            <tr>
                <td><input type= "text" id= "field_11" placeholder= "ХВС_пред"></td>
                <td><input type= "text" id= "field_21" placeholder= "ГВС_тек"></td>
            </tr>

            <tr>
                <td><input type= "text" id= "field_12" placeholder= "ХВС_пред"></td>
                <td><input type= "text" id= "field_22" placeholder= "ГВС_тек"></td>
            </tr>

        </table>
    </p>
    
    <button onclick= "saving_readings_in_the_DB()">Ввести</button>

    <br><br><br>

    <i> <p><label for= "field_">За ___ были передыны __</label></p> </i>
    <i> <label for= "field_3">За ___ были передыны: Пока не переданы</label> </i>

    <br><br><br>

    <table width= "340" frame= "box", rules="cols">
        <colgroup>
            <col span= "1" style= "background:Khaki">
        </colgroup>

        <tr>
            <td>1</td>
            <td>16.00</td>
            <td>20,00</td>
        </tr>

        <tr>
            <td>2</td>
            <td>28.00</td>
            <td>30,00</td>
        </tr>
    </table>
</body>


<script>
    function saving_readings_in_the_DB(label_period)
    {
        var field_21 = document.getElementById("field_21").value;
        var field_22 = document.getElementById("field_22").value;
        
        window.location.href =  "saving_readings_in_the_DB/?param1=" + label_period + "&param2=" + field_21 +  "&param3=" + field_22

    }

    function button_back()
    {
        var label = document.getElementById("label_period_2");
        
        label.innerHTML = '{{list_periods.0}}'
    }

    function button_next()
    {
        var label = document.getElementById("label_period_2");
        
        label.innerHTML = '{{list_periods.1}}'
    }
</script>


</html>

Файл views.py:

from django.

    urls import path
    from django.shortcuts import render
    
    
    def index(request):
        page = render(
            request,
            'App_for_browser/index.html',
            {'data': '23131'})
    
        return page
    
    def openNext(request):
        field1 = request.GET.get('param1')
        field2 = request.GET.get('param2')
        print(field1, field2)

    list_periods = ['январь 2024', 'февраль 2024', 'март 2024']

    page = render(
        request,
        'App_for_browser/openNext.html', 
        {'list_periods': list_periods})  # То, что до запятой - переменная, её название должно быть равно названию переменной в html-файл
    
    if '' == '':
        return page
    else:
        pass

def saving_readings_in_the_DB(request):
    field_1 = request.GET.get('param1')
    field_2 = request.GET.get('param2')

    print(field_1, field_2)

Файл urls:

 from django.contrib import admin
    from django.urls import path
    from App_for_browser.views import *
    
    
    
    urlpatterns = [
        path('', index, name= 'index'),
        path('op

enNext/', openNext, name= 'openNext')]
Вернуться на верх