继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

无无法师
关注TA
已关注
手记 44
粉丝 54
获赞 130
  • 页面显示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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP