手记

django学习笔记(6-5 用form实现登陆-2)

  • 页面显示forms定义的错误提示


把错误信息通过login_form这个变量传递到login.html页面

#判断用户名是否有错,有错的话添加errorput这个错误提示,这就可以更好的只能提示告诉用户哪里错了
<div class="form-group marb20 errorput">
    ......
</div>
<div class="form-group marb20 {% if login_form.errors.username %}errorput{% endif %}">
    #Template不像python,这里有异常也不会提示出来,所以没有username这个字段也不怕报错
    #adjango取到的值都是dict
    ......
</div>

遍历dict,把错误信息全部输出出来

#我们说了errors是个dict,dict就有items这个方法,key就是键,error就是message
<div >{% for key,error in login_form.errors.items() %}{{ key }}:{{ error }}{% endfor %}{{ msg }}</div>
<div >{% forkey, error in login_form.errors.items() %}{{ error }}{% endfor %}{{ msg }}</div>

继承View,get和post方法不是我们完成的,是view办我们完成的。LoginForm帮我们验证表单输入数据合法性。authenticate比对密码和账号是否正确。login登陆。不成功的话就把错误信息显示到html页面
接下来我们查看login里面发生了什么?就是session和cookie

0人推荐
随时随地看视频
慕课网APP