zoukankan      html  css  js  c++  java
  • django之类视图,状态保持,中间件

    一: 状态保持:

      1.cookie:保存在浏览器当中, 键值对的字符串形式; 默认过期时间是关闭浏览器时(max_age设置过期时间).基于域名安全.

      写: response.set_cookie(键,值,过期时间)

      def show(request):

          response = HttpResponse('ok)

          response.set_cookie('键','值',max_age='时间/秒')

          return response

      读: response.COOKIES.get(键)

      def cookie_get(request):

          name= request.COOKIES.get('键')

          return HttpResponse(name)

      2.session: 保存在服务器中,可以通过setting.py设置保存位置db,redis, session依赖于cookie,默认过期时间是两周.

      写: request.session['键'] = 值

      def set_session(request):

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

          return HttpResponse('ok')

      读:request.session.get('键') (不存在不报错), 不存在返回none.

      def session_get(request):

          name= requset.session.get('键')

          return HttpResponse('name')

    二 :类视图:

      语法: 在views.py中定义类,继承自django.views.View,   在类中定义名称是请求方法的小写

      注册路由: 类.as_view()

          url(r'^$',views.类名.as_view()),

      原理: as_view()返回 view函数, 请求时执行view函数,调用对象的dispatch函数,根据请求方式获取对象的方法, 执行方法.

      为类视图田家装饰器:

        1> @method_decorator('装饰器名称', name=dispatch)

        2> 为某个函数加装饰器@装饰器名称

    三:中间件:

      语法: 与装饰器一样

      def fun(f)

        def fun1(*args,**kwargs):

          return f(*args,**kwargs)

        return fun1

      注册: session.py项MIDDLEWART  : '应用名.middleware.MyMiddleware'

      执行顺序: 以视图分界: 视图执行前由上到下; 视图执行后由下到上.

  • 相关阅读:
    docker常用命令
    2020/10/10,饮食男女-对教条主义的补充和现实的摸索
    2020/08/24,约束力
    2020/08/21,迷茫的时候就去工作
    2020/08/21,神秘和平易近人
    2020/08/21,圣人和教条
    2020/07/21,翡翠梦境
    2020/10/10,生活不是阶段式跳跃的,是螺旋式的。
    2020/07/23,再论point,way,moment,time
    2020/07/13,旅游的意义是什么
  • 原文地址:https://www.cnblogs.com/zxt-cn/p/9183125.html
Copyright © 2011-2022 走看看