我有一个问题,我觉得我之前已经解决了,但由于某种原因,我无法弄明白。我有一个Django视图,它将更新存储在数据库中的用户信息,该信息涉及用户输入他当前的密码,新密码和新密码的验证。
我已完成处理,以便用户输入所有正确的信息。我不是试图添加else语句,以防用户没有输入当前存在的密码或密码不匹配。
在else语句中的两个注释行中,我想用表单显示当前HTML模板,并显示一条消息,显示为存在的不同错误分配的消息。
if 'passwordSubmit' in request.POST:
updatePassword = updatePasswordForm(request.POST)
if updatePassword.is_valid():
cd = updatePassword.cleaned_data
old_password = cd['old_password']
new_password = cd['new_password']
verify_password = cd['verify_password']
user = authenticate(username=currentUser.username, password=old_password)
if user is not None:
if new_password == verify_password:
secure_password = make_password(new_password)
update_user = currentUser
update_user.password = secured_password
update_user.save()
else:
message = 'The two passwords do not match'
# if the passwords do no match
else:
message = 'The password entered does not match our records'
# in case the old password is not what is saved in the database
答案 0 :(得分:1)
回应manan_kalariya的思路,将消息添加到传递给模板的上下文中。假设你在视图中做了类似的事情:
return render(request, "customer/login.html", {"message":message})
然后您可以在模板中执行此操作:
{% if message %}<div>{{message}}</div>{% endif %}
然后根据自己的喜好对其进行设计,并根据表单将其放置在您想要的位置。