当前位置: 首页 > 知识库问答 >
问题:

如何使用复选框django触发函数

林辰钊
2023-03-14

这是我的模板名为admin的代码。html:

<div class="panel-body">
    <p><button type="button" class="btn btn-black"><i class="fa fa-upload"  </i>&nbsp;&nbsp;<span class="bold">IMPORT ALL</span></button>  </p>
    <p>  Import selected reports:</p>
    <p>  <label><input type="checkbox" value=""> Cisco Backlog Report</label></p>
    <p>  <label><input type="checkbox" value=""> Planning & Standard</label></p>
    <p>  <label><input type="checkbox" value=""> Emo Trans Report</label></p>
    <p>  <label><input type="checkbox" value=""> Phyllis Report</label></p>
    <p>  <label><input type="checkbox" value=""> Purchase Order View</label></p>
    <p>  <label><input type="checkbox" value=""> On Hand Inventory</label></p>
    <p>  <label><input type="checkbox" value=""> Bill of Material</label></p>
    <p>  <label><input type="checkbox" value=""> Aged</label></p>
    <p>  <label><input type="checkbox" value=""> Shipment with Times</label></p>
    <p><button type="button" class="btn btn-danger">Import</button>  </p>

如前所述,我得到了10个函数,这些函数可以读取多个。csv报告并将数据上传到模型中,我使用URL部分触发它们。在我看来。py我将展示两个示例:

def importpurchase(request)
    Log logic here
def importcisco(request) 
    Log logic here
def importall(request) # this function is to import all
    importpurchase(None)
    importcisco(None)

共有1个答案

桂浩言
2023-03-14

您可以使用请求接收所选复选框的列表。发布。getlist('mycheckboxname'),您应该根据所选字段('Aged')相应地指定复选框名称和值:

<input type="checkbox" name="mycheckboxname" value="Aged">

然后,您可以根据列表中选择的内容调用任何函数:

def func1(l,vals):
  process_values_in_different_way(l, vals)...
def func2(l,vals):
 process_values(l, vals)...

def MyView(request):
 values=get_values_from_somewhere()
 mylist=request.POST.getlist('mycheckboxname')
 if 'Aged' in mylist:
    func2(mylist, values)
 elif anotherValue in mylist:
    func2(mylist, values)
 elif...
    etc 

编辑(根据您的评论):

django就是这样工作的:您的客户机发送请求,您返回响应。这称为HTTP协议。单击“导入”按钮后,客户端会向服务器发送一个表单,其中包含用户输入的所有数据。此数据在视图中显示为请求对象的一部分。您可以检索此数据,并可以使用此数据执行任何操作。例如,在我的示例中,process\u值可以选择所有“Phyllis Report”对象并将其返回到响应,作为渲染模板的一部分。没有其他方法可以做到这一点。您不能在没有请求的情况下从服务器调用单击功能。为了实现您想要的,您可以尝试分割您的逻辑,并将其中的一部分放到javascript中。您可以将onclick listener绑定到按钮,然后通过ajax向服务器发送请求。但这是一个全新的故事。这可能很有用:ajax和django

 类似资料:
  • 问题内容: 有时候,这种AJAX会触发,有时却不会,我来解释一下。 habit.js 仅在加载显示页面并刷新它之后才会触发,以便终端看起来像这样: 仅加载显示页面一次将无法完成工作,因为选中标记不会触发AJAX(请注意上面的所有GET和下面的GET缺少,我认为这与涡轮链接有关)。 该 显示页面 称为AJAX 这就是AJAX触发的 源代码days_missed_controller.rb 。 这是

  • 我的JavaFx FXML应用程序有问题。 当我在表单上选中复选框时,我想根据单击的复选框执行一个方法。是否有任何方法可以将复选框的名称传递给该方法,以便对其执行一些有条件的工作? 我有两个复选框,只能选择一个。当我单击其中一个时,应取消选择另一个,反之亦然。显然,下面的代码将无法工作,因此我希望传递被单击对象的名称。 任何帮助都将不胜感激,非常感谢。

  • 问题内容: 我需要有关jQuery选择器的帮助。假设我有一个标记,如下所示: 除了用户单击时,如何获取所有复选框? 问题答案: 一个更完整的示例适用于您的情况: 当被点击复选框,该复选框的状态进行检查,并在当前形式的所有复选框被设置为相同的状态。 请注意,您无需从选择中排除该复选框,因为该复选框的状态将与其他所有复选框相同。如果出于某些原因确实需要排除,则可以使用以下方法:

  • 我正在使用JavaFx,我有一个用sceneBuilder创建的表视图,它包含3列,其中一列用于复选框,还有一个名为print\u tab的按钮,我想在单击此按钮时使用复选框选择行- 我读了许多关于回调复选框的表列的示例,但不知道如何做到这一点。 这是控制器: 在模型类上,我有以下代码: } fxml代码: 任何想法? 编辑: 我试过这样做,但即使我勾选了一些复选框,我总是得到错误的结果,不是真的

  • 问题内容: 我有一个带有很多表单字段(12 xn行)的表单。每行中的第一个字段(代表产品)是一个类似于以下内容的复选框: 每个复选框的值都是唯一的。 我正在尝试将检查后的值发送到PHP脚本以通过Ajax进行处理。我遇到的问题是将ID正确获取到服务器。我尝试使用以下几种方法: 和 但是这些都会导致在服务器上获取此信息: 我可以序列化整个表单并将其发送过来,但是这可能导致发送的许多数据将不被使用。 如

  • 我试图触发一个lambda函数,在多个表上使用无服务器的dynamodb流。yml配置。可以在aws serverless.yml的触发器上配置通用arn吗。 有dynamodb表req\u tnt1、req\u tnt2、req\u tnt2…等等。每当req\u tnt*表更新时,我都会触发lambda并将信息存储在elasticsearch中以进行自由文本搜索。我能够处理触发lambda和更