zoukankan      html  css  js  c++  java
  • CSIC_716_20200113【Django入门---forms组件、session和cookie、登录认证装饰器】

    forms组件

    forms组件的功能:1、渲染前端页面,不用在前端手写forms表单了,不过只会渲染用户输入(输入、选择、下拉、文件)的标签,不渲染按钮以及form表单标签,。2、后端能进行非常规范的数据合法性校验3、展示校验之后的合法性信息。

    使用方法:1、定义一个自定义forms类

     form组件的前端渲染方式

    效果差不多

     

    浏览器中的结果:

     

    校验的一些参数:

    正则、等

     钩子函数是等字段校验完成后,再自动执行钩子中的校验

     

    	cookie与session
    		由来
    		
    		本质
    		
    		具体操作
    			django中如何操作
    			
    			
    		cookie的操作
    			一定要利用HttpResponse类直接或间接产生的对象
    			
    			设置
    				obj = HttpResponse('...')
    				obj.set_cookie(k,v)
    				
    				可以设置超时时间
    					obj.set_cookie(k,v,max_age/expire)
    				
    			获取
    				request.COOKIES.get(k)
    			
    			删除
    				obj = HttpResponse('...')
    				obj.delete_cookie(k,v)
    			
    			基于cookie写校验用户登录装饰器并且能够记住用户上一次想要访问的url
    			
    		session的操作
    			django操作session默认需要使用内置的一张django_session表
    				如果没有执行过数据库迁移命令
    					no such table:django_session
    			
    			django默认的超时时间为14天
    			
    			设置
    				request.session['username'] = 'jason'
    				"""
    				1.产生一个随机字符串
    				2.取django session存储数据 session_key就是产生的随机字符串 session_data就是要保存的数据 expire_date超时时间
    				3.将产生的随机字符串返回给浏览器 浏览器本地保存键值对
    					sesssionid:随机字符串
    				"""
    			获取
    				request.session.get('username')
    				"""
    				1.自动取请求头中查找cookie锁携带的键值对 获取到随机字符串
    				2.拿着随机字符串取django_session表中比对数据 
    				3.有的话就将对应的数据取出放到request.session中
    				"""
    			删除
    				request.session.flush()  # 推荐
    				
    				request.session.delete()
    			额外了解
    				设置超时时间
    				request.session.set_expire(value)
    					1.数字  秒数
    					2.时间数据类型
    					3.0 
    					4.不放 默认采用全局失效策略
    				
    				session不一定非要存到数据库
    					文件
    					缓存数据库
    					数据
    

      

  • 相关阅读:
    gzip是一种数据格式,deflate是一种压缩算法
    js 实现图片上传 续
    iframe 元素会创建包含另外一个文档的内联框架(即行内框架)
    HTTPS简介----
    回归测试
    HTTP 返回码 400
    js 实现 一张图片的上传
    121. Best Time to Buy and Sell Stock
    119. Pascal's Triangle II
    118. Pascal's Triangle
  • 原文地址:https://www.cnblogs.com/csic716/p/12189236.html
Copyright © 2011-2022 走看看