python - 从具有相同字段名称的多个表单中获取所有值,无需表单集

标签 python django

如何在没有表单集的情况下从具有相同字段名称的多个表单中获取所有值?

这是我的 view.py 文件

...
test = str(request.POST.getlist('testing123[]'))
...

并且有html文件

<div class="input-group">
  <input type="text" class="form-control" name="testing123[]">
    <a href="javascript:void(0);" class="add_button_rip btn btn-warning" title="Add field">+</a>
</div>

用js脚本克隆表单

<script type="text/javascript">
  $(document).ready(function(){
      var maxField = 100; //Input fields increment limitation
      var addButton = $('.add_button_rip'); //Add button selector
      var wrapper = $('.field_wrapper_rip'); //Input field wrapper
      var fieldHTML = '<div class="spacer-divide"></div><div class="input-group"><input type="text" class="form-control" name="test"><a href="javascript:void(0);" class="remove_button_rip btn btn-warning" title="Add field">-</a></div>'; //New input field html 
      var x = 1; //Initial field counter is 1

      //Once add button is clicked
      $(addButton).click(function(){
          //Check maximum number of input fields
          if(x < maxField){ 
              x++; //Increment field counter
              $(wrapper).append(fieldHTML); //Add field html
          }
      });

      //Once remove button is clicked
      $(wrapper).on('click', '.remove_button_rip', function(e){
          e.preventDefault();
          $(this).parent('div').remove(); //Remove field html
          x--; //Decrement field counter
      });
  });
  </script>

我尝试用这个打印

print (test)
for x in range(len(test)):
  print (test[x],end=" ")

结果只是第一个值

很抱歉我的错误,我在这一行有错误的代码

var fieldHTML = '<div class="spacer-divide"></div><div class="input-group"><input type="text" class="form-control" name="test"><a href="javascript:void(0);" class="remove_button_rip btn btn-warning" title="Add field">-</a></div>';

一定是

var fieldHTML = '<div class="spacer-divide"></div><div class="input-group"><input type="text" class="form-control" name="testing123[]"><a href="javascript:void(0);" class="remove_button_rip btn btn-warning" title="Add field">-</a></div>';

最佳答案

test = request.POST.getlist('testing123[]')
print(test) # first check if test contains multiple elements and then start iteration over it
for t in  test:
    print(t) # you can cast it as a string now, print(str(t)). this return single element.

关于python - 从具有相同字段名称的多个表单中获取所有值,无需表单集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56217330/

相关文章:

django - 如何在 Django Admin 中访问 ManyToManyField 的两个方向?

Python:code.interact(local=locals()) 其中 stdin/stdout 不可用

django - 多对多关系的Django管理表单

python - 如何 'zero' 输出数组中的行和列

python - 订购用于绘图的多边形坐标

python - PyQt:退出时没有错误消息(回溯)

python - 如何从 Django RawQuerySet 获取元组列表?

Django REST Framework - 如何快速检查用户权限?

python - 如何使用谷歌应用引擎 GQL 查询(python)从下表中获取行?

Python sys.stdin.read(1) 在 while(True) 循环中持续执行 1 次获取输入和多次未获取输入