[英]request.POST parameters are missing
您好,我正在尝试将一些值从我的注册表单传递到 django 视图,但由于某些原因,这些值丢失了。
我的view.py :
@csrf_exempt
def signup(request):
if request.method =='POST':
for key, value in request.POST.lists():
print(" DEBUG %s %s" % (key, value))
print(request.POST['name'],email=request.POST['email'])
return render(request, 'front_app/login.html')
我的register.html :
<form class="form" method="post" action="{% url 'signup' %}" name="submitForm">
{% csrf_token %}
<input type="text" class="name" placeholder="Name" id="name" required>
<input type="email" class="email" placeholder="Email" id="email" required>
<div>
<input type="password" class="password" placeholder="Password (8 characters minimum)" id="password" minlength="8" required>
</div>
<input type="submit" class="submit" value="Register" >
</form>
和我的urls.py :
urlpatterns = [
# other not related urls
path('signup', views.signup, name='signup'),
]
我的问题是,当 views.signup 函数运行时,它缺少我尝试发送的所有三个值:姓名、电子邮件和密码。
它是一个 POST 请求(而不是 GET),但 QueryDict 中唯一的值是“编码”和“csrfmiddlewaretoken”值。
任何帮助表示赞赏!
正如塞尔丘克评论的那样,
request.POST 数据是一个填充了 HTML 表单输入字段名称的字典。
尝试:
<form class="form" method="post" action="{% url 'signup' %}" name="submitForm">
{% csrf_token %}
<input type="text" class="name" placeholder="Name" id="name" name="name" required>
<input type="email" class="email" placeholder="Email" id="email" name="email" required>
<div>
<input type="password" class="password" placeholder="Password (8 characters minimum)" id="password" minlength="8" name ="password" required>
</div>
<input type="submit" class="submit" value="Register" >
</form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.