forms组件的渲染错误信息,全局和局部钩子函数,cookie,session

  一.forms组件的渲染错误信息

    在模板中:<span>{{ foo.errors.0 }}</span>

  forms使用bootstrap样式

    widget = widgets.EmailInput(attrs={'class':'form-control'})

  全局和局部钩子函数

    AOP:面向切面编程

    局部钩子函数(再校验name)

    def clean_name(self):

      # 从cleaned_data中取出字段的值

      name = self.cleaned_data.get('name')

      #校验是否以sb开头

      if name.startswith('sb'):

        raise ValidationError('不能以sb开头')

      else:

        return name

    全局钩子函数

    def clean(self):

      pwd = self.cleaned_data.get('pwd')

      re_pwd = re_pwd:

        # 正确,返回self.cleaned_data

      else:

        # 校验失败,抛异常

        raise ValidationError('两次密码不一致')

  二.cookie

    cookie是存在浏览器上键值对{'name':'lqz','password':123}

    服务器写到浏览器上的

  三.session:

    因为cookie不安全,所以出了session

    存在于服务器上的键值对'sfdasdfa':{'name':'lqz','password':123}

  四.cookie的使用:

    设置cookie:

      HttpResponse的对象 obj.set_cookie(key,value,超时时间)

    取cookie:

      request.COOKIES.get(key)

      name = request.get_signed_cookie('name',salt='123')

    删除:

      HttpResponse对象 obj.delete_cookie('is_login')

  五.session的使用

    设置:

      request.session['name'] = 'lqz'

      request.session['age'] = '18'

    取cookie:

      request.session.get('name')

    删除:

      request.session.delete() 只删除数据库

      request.session.flush()  浏览器cookie和数据库

 

posted @ 2019-01-22 09:16  小菜鸟张阳阳  阅读(139)  评论(0编辑  收藏  举报