zoukankan      html  css  js  c++  java
  • python day100-[day41-45]-3 web-django

    django 主干

    20200316


    模型


    静态资源和Ajax请求

    • python 导入包错误
      Python 相对导入attempted relative import beyond top-level package
      参考: https://www.cnblogs.com/linkenpark/p/10909523.html

    表单的应用

    • 用户信息
    • 登录
    • 注册

    Cookie和Session

    • 用户跟踪
    要让客户端记住并在每次请求时带上sessionid又有以下几种做法:
    
    【1】URL重写。所谓URL重写就是在URL中携带sessionid,例如:http://www.example.com/index.html?sessionid=123456,服务器通过获取sessionid参数的值来取到与之对应的session对象。
    
    【2】隐藏域(隐式表单域)。在提交表单的时候,可以通过在表单中设置隐藏域向服务器发送额外的数据。例如:<input type="hidden" name="sessionid" value="123456">。
    
    【3】本地存储。现在的浏览器都支持多种本地存储方案,包括:cookie、localStorage、sessionStorage、IndexedDB等。
    

    报表和日志


    中间件的应用

    中间件是安插在Web应用请求和响应过程之间的组件,它在整个Web应用中扮演了拦截过滤器的角色,通过中间件可以拦截请求和响应,并对请求和响应进行过滤(简单的说就是执行额外的处理)。
    通常,一个中间件组件只专注于完成一件特定的事,例如:Django框架通过SessionMiddleware中间件实现了对session的支持,又通过AuthenticationMiddleware中间件实现了基于session的请求认证。
    通过把多个中间件组合在一起,我们可以完成更为复杂的任务,Django框架就是这么做的。
    
    Django中的中间件有两种实现方式:基于类的实现方式和基于函数的实现方式,后者更接近于装饰器的写法。
    装饰器实际上是代理模式的应用,将横切关注功能(与正常业务逻辑没有必然联系的功能,例如:身份认证、日志记录、编码转换之类的功能)置于代理中,由代理对象来完成被代理对象的行为并添加额外的功能。
    中间件对用户请求和响应进行拦截过滤并增加额外的处理,在这一点上它跟装饰器是完全一致的,所以基于函数的写法来实现中间件就跟装饰器的写法几乎一模一样。
    
  • 相关阅读:
    error C2144
    Linux下STL使用
    GZip压缩的实例
    头文件类型的选择
    双重指针
    locate命令的使用
    有了malloc/free为什么还要new/delete !
    Mongdb windows下安装
    虚函数工作机制
    extern使用
  • 原文地址:https://www.cnblogs.com/damahuhu/p/12505954.html
Copyright © 2011-2022 走看看