Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django如何将复选框值传递给函数_Python_Django - Fatal编程技术网

Python Django如何将复选框值传递给函数

Python Django如何将复选框值传递给函数,python,django,Python,Django,我在django中创建了一个表,每行都有一个id和一个复选框。我已经为每个复选框指定了值,作为行的id。当用户单击复选框时,我希望它调用一个函数并传入id编号,以及该复选框现在是否已选中 set.html: {%if set.status%} {%else%} {%endif%} 视图.py def set_更新(请求): 打印(request.GET.getlist('inputs')) 返回重定向('仪表板:集合') 为什么不使用ajax template.html: <head&

我在django中创建了一个表,每行都有一个id和一个复选框。我已经为每个复选框指定了
,作为行的id。当用户单击复选框时,我希望它调用一个函数并传入
id
编号,以及该复选框现在是否已选中

set.html:


{%if set.status%}
{%else%}
{%endif%}
视图.py

def set_更新(请求):
打印(request.GET.getlist('inputs'))
返回重定向('仪表板:集合')
为什么不使用ajax

template.html:

<head>
  ...
  <!-- import jquery/ajax -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
  ...
  <!-- create a variable for the csrf token, then load the script.js file -->
  <script> var csrf_token = '{{csrf_token}}' </script> 
  <script src="{% static 'path/to/script.js' %}"></script>
</body>
views.py:

def set_update(request):

    # unpack post request:
    the_id = request.POST['id']
    ...

    # execute any logic as needed:
    ...

    # pack response:
    respone = json.dumps({
        'data' : 'some_data',
        ...
    })

    return HttpResponse(response)

你好@Daniel,我以前从未使用过Ajax。我还使用了作为SQL查询的一部分返回的两个值,我只知道如何通过python进行查询。如果你学会了这个模式,你可以用django做很多事情。如果还有什么不清楚的地方,请告诉我。非常感谢。它按预期工作,但是我在控制台中遇到了以下问题:
uncaughttypeerror:t.nodeName未定义
,这显然与
$(this).val()有关
def set_update(request):

    # unpack post request:
    the_id = request.POST['id']
    ...

    # execute any logic as needed:
    ...

    # pack response:
    respone = json.dumps({
        'data' : 'some_data',
        ...
    })

    return HttpResponse(response)