javascript - 如何将输入字段值传递给views.py文件中的函数
问题描述
我正在尝试更新我的密码。对于该电子邮件 ID,新密码和确认新密码值通过 POST 方法传递给 views.py 函数。但是 POST 方法没有将任何值传递给 views.py 函数。我也尝试过使用 JAVASCRIPT 验证表单,但我没有这样做。我该如何解决这个问题。有人可以帮忙吗?
HTML 文件:
<!DOCTYPE html>
<html lang="en">
{% load static %}
<head>
<meta charset="UTF-8">
<title>Password Reset</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<link href="{% static 'styles/style.css' %}" rel="stylesheet"/>
</head>
<body>
<section class="sflog" id="sflog">
<div class="container-fluid">
<div class="row">
<div class="col-12" id="std">
<form method="POST" name="forgot" action="{% url 'ufpasswordreset' %}">
{%csrf_token%}
<center>
<h3>Password <span>Reset</span> Form</h3><br>
</center>
<label style="color:white;padding-left:13%;">Enter Your Registered Email</label>
<center>
<input type="email" id="email" name="email" placeholder="Email"><br><br>
<span id="lemail"></span>
</center>
<label style="color:white;padding-left:13%;">Enter New Password</label>
<center>
<input type="password" id="pass" name="pass" placeholder="New Password"><br><br>
<span id="lpass"></span>
</center>
<label style="color:white;padding-left:13%;">Confirm New Password</label>
<center>
<input type="password" id="cpass" name="cpass" placeholder="Confirm New Password"><br><br>
<span id="lcpass"></span>
</center>
<center>
<button type="submit" name="submit" onclick="return reset()">Submit</button><br><br><br><br>
</center>
</form>
</div>
</div>
</div>
</section>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<script src="{% static 'js/scriptfunction.js' %}"></script>
</body>
</html>
视图.py
def user_forgot_password_reset(request):
if request.method == 'POST':
print("hi")
femail = request.POST.get('email')
print(femail)
fpassword = request.POST.get('pass')
print(fpassword)
fepassword = sha256(fpassword.encode()).hexdigest()
fcpassword = request.POST.get('cpass')
print(fcpassword)
detail = clientreg.objects.filter(Email=femail)
for i in detail:
i.Password = fepassword
i.save()
details = clientlogin.objects.filter (Username=femail)
for x in detail:
x.Password = fepassword
x.save()
return redirect("userlogin")
else:
return render(request, "password_reset.html")
网址.py
from django.urls import path,re_path
from . import views
urlpatterns=[
path('Forgot_Password_Reset', views.user_forgot_password_reset, name="ufpasswordreset"),
]
JAVASCRIPT:
function reset()
{
if(document.forgot.email.value=="")
{
document.getElementById("lemail").innerHTML="Enter Email ID";
return false;
}
else
{
document.getElementById("lemail").innerHTML="";
var mailformat = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/;
if(document.forgot.email.value.match(mailformat))
document.getElementById("lemail").innerHTML="";
else
{
document.getElementById("lemail").innerHTML="Invalid Email";
return false;
}
}
if(document.forgot.pass.value=="")
{
document.getElementById("lpass").innerHTML="Enter Password";
return false;
}
else
{
var pregexp=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
if(document.forgot.pass.value.match(pregexp))
document.getElementById("lpass").innerHTML="";
else
{
document.getElementById("lpass").innerHTML="Contains eight characters,upper&lowercase letter,digit&special characters";
return false;
}
}
if(document.forgot.cpass.value=="")
{
document.getElementById("lcpass").innerHTML="Enter Password";
return false;
}
else
{
document.getElementById("lcpass").innerHTML="";
if(document.forgot.pass.value!=document.forgot.cpass.value)
{
document.getElementById("lcpass").innerHTML="Password Mismatch";
return false;
}
else
document.getElementById("lcpass").innerHTML="";
}
}
解决方案
推荐阅读
- sql - 如何在 MM-DD 上聚合多年的数据,忽略年份
- c# - 根据左侧的分隔符将字符串拆分为子字符串
- python - Django + 后台任务如何初始化
- javascript - 输入无效时显示工具提示/消息 HTML/JS/CSS/Angularjs
- python - 使用python获取elasticsearch数据库中的唯一字段
- c++ - 未找到所需的 Zlib 库
- sql - SQL查询自定义输出
- angular - 从主页重定向到登录页面时无法隐藏登录页面中的导航栏
- hybris - 在 hybris 后台更改对象标识符
- ruby-on-rails - Rails 5(ajax):参数数量错误(给定1,预期0)