如何将变量js发布到Django

时间:2019-07-16 01:27:18

标签: javascript python django

我在js中有3个变量。我需要发布到views.py

我使用Python 2.7和Django 1.11,我尝试使用Ajax,但我不理解。


<head>
    <meta charset="UTF-8">
    <title>Prueba de actualización de forma</title>
    <script type="text/javascript">
        function addEvidence(form) {
            idAlumno = document.getElementById('idAlumno').value;
            competencia = document.getElementById('Competencia').value;
            var radios = document.getElementsByName('Calificacion');

            for (var i = 0, length = radios.length; i < length; i++) {
                if (radios[i].checked) {
                    calificacion = radios[i].value
                    break;
                }
            }
            alert(idAlumno + " " + competencia + " " + calificacion);

        }
    </script>
</head>

views.py


def Evidences(request, idAlumno,competencia,calificacion):


    return render(request, 'resultados_app/resultados.html')

我需要发布idAlumno,能力和求职信,但我不知道

2 个答案:

答案 0 :(得分:0)

包括jquery,它将起作用

$(document).on('submit', 'form', function(e) {
    $.ajax({
        type: 'POST',
        url: '/YOUR_URL/',
        data: {
            idAlumno: idAlumno,
            competencia: competencia,
            calificacion: calificacion,
            csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]').val()
        },
        success:function() {
            console.log("success");
        },
        error: function(data) {
            console.log("error");
        }
    });
});

views.py


def Evidences(request):
    idAlumno = request.POST["idAlumno"]
    competencia = request.POST["competencia"]
    calificacion = request.POST["calificacion"]

答案 1 :(得分:0)

我使用

<script>
        $(document).ready(function () {
            $("#evidences").submit(function (event) {
                idAlumno = document.getElementById('idAlumno').value;
                competencia = document.getElementById('Competencia').value;
                var radios = document.getElementsByName('Calificacion');
                noSemana = document.getElementById('opciones').value;
                for (var i = 0, length = radios.length; i < length; i++) {
                    if (radios[i].checked) {
                        calificacion = radios[i].value
                        break;
                    }
                }
                $.ajax({
                    type: "POST",
                    url: 'evidences',
                    data: {
                        csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]').val(),
                        'idAlumno': idAlumno, // from form
                        'competencia': competencia,
                        'calificacion': calificacion,
                        'noSemana': noSemana                        
                    },
                    success: function () {
                        window.location='/'
                    }
                });
                return false; //<---- move it here
            });

        });
    </script>