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.