如何解决在获取POST数据Django中获取MultiValueDictError
我正在尝试获取从HTML表单接收的GET数据。
但是它给了我MultiValueDictError。 也说
During handling of the above exception,another exception occurred:
我的HTML代码:
<!DOCTYPE html>
<html>
<head>
<title>Document</title>
</head>
<body>
<form action="home_redirect/fd" id="redirect" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<input type="text" value={{user}} name="user">
<input type="submit">
</form>
<script>
document.getElementById("redirect").submit()
</script>
</body>
</html>
我的views.py:
def home(request):
user = request.POST['user']
return render(request,'main.html',{'login': user})
解决方法
在您的<form>
中,您指定:
<form action="home_redirect/fd" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<input type="text" value={{user}} name="user">
<input type="submit">
</form>
因此您发出POST请求,并且数据被编码在请求的有效载荷中。您可以通过request.POST
访问此数据:
def home(request):
user = request.POST['user']
return render(request,'main.html',{'login': user})
,
在您的html中,我删除了action
和脚本。像这样:
<!DOCTYPE html>
<html>
<head>
<title>Document</title>
</head>
<body>
<form id="redirect" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<input type="text" value={{user}} name="user">
<input type="submit">
</form>
</body>
</html>
在这里,我们检查方法是POST
,然后redirect
到您的url
。
def home(request):
user = request.POST
if request.method =="POST":
return redirect('home_redirect') # home_redirect is the redirected url
return render(request,'afl_announcement/main.html',{'login': user})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。