i前端:nput_test.html
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>Search</title>
<script>
</script>
</head>
<body>
<div><p>{{ result }}</p></div>
<form action="" method="post">{% csrf_token %}
<input type="text" name="key">
<input type="text" name="key">
<input type="submit" value="Search" >
</form>
</body>
</html>
两个<input >标签name都是'key'
后台:Django views.py
def setting(request):
if request.method == 'POST':
result_list = request.POST.getlist('key', '')
result = str(result_list)
return render_to_response('input_test.html', locals(), context_instance=RequestContext(request))
else:
return render_to_response('input_test.html', locals(), context_instance=RequestContext(request))
运行后,在浏览器表单中输入:
打开chrome ,提交表单,看FormData,其实浏览器已经向后台提交了两个name 为'key '的值。
后台也成功接收到一个列表 ['1', '2']。
主要是这个API request.POST.getlist(),可以接收到所有共享同一个name的value,
QueryDict.getlist(key, default)¶
Returns the data with the requested key, as a Python list. Returns an empty list if the key doesn’t exist and no default value was provided.
It’s guaranteed to return a list of some sort unless the default value was no list.
本文介绍了在Django中处理前端表单提交时,如何获取具有相同name属性但不同value值的方法。通过查看Chrome的FormData,可以看到浏览器已正确发送多个值。在后台views.py中,可以接收到一个包含所有这些值的列表,如['1', '2']。通过参考StackOverflow上的解决方案,可以实现对这些值的有效处理。"
113050365,10540965,C++构造函数详解与初始化表的使用,"['C++编程', '构造函数', '对象初始化']
1984

被折叠的 条评论
为什么被折叠?



