tornado2

Posted on 2019-08-26 12:01  大白不白  阅读(120)  评论(0编辑  收藏  举报

基本操作:

  路由系统:

    url ->类(根据method执行方法)

  控制器

    class Foo(11111):

      def get(self):   

        self.render

        self.write

        self.redirect

        self.get_argument()

        self.get_arguments()

        self.get_cookie()

        self.set_cookie('xxxxx','000000')

        设置加密的cookie(需要在settings里面配置cookie_secret)

        self.get_secure_cookie('xxxxxx')

        self.set_secure_cookie('xxxxxx','00000')

        

      def post(self):

        self.request.files['aaa']

        self._headers         # 请求头

        # 找请求去Handler对象,self.request对象

 

  模板引擎(更接近python)

    {{li[0]}}

    {% for i in range(10) %}

    {% end %}

  

  UImethod,UImodule,在模板中自定制方法

  UImethod : 内容

  UImodule : css,js,内容

 

自定义session:

self.session['xx'] = "adadawddw"           # __setitem__

self.session['xx']           # __getitem__

del self.session['xx']          # __delitem__

1.super按照顺序查找

 类名.方法名(self)

2.self永远是调用的方法的对象

container = {}

# 随机生成字符串

def create_random_str(self):

  v = str(time.time())

  m = hashlib,md5()

  m.update(bytes(v,encoding='utf8'))

  return m.hexdigest()

# 写入用户cookie,后台存储

def __setitem__(self,key,value):

  random_str = self.create_random_str()

  self.handler.set_cookie('session_id',random_str)

  if random_str in container:

    container[random_str][key] = value

  else:

    container[random_str]={}

    container[random_str][key] = value

 

去用户请求信息中获取session_id ,如果没有,新用户

client_random_str = self.handler.get_cookie('session_id')

if not client_random_str :

  self.random_str = self.create_random_str()

else:

  if client_random_str in container:

    self.random_str = client_random_str

  else:

    self.random_str = self.create_random_str()

  self.handler.set_cookie('session_id',self.random_str)

 

def __setitem__(self,key,value):

  container[self.random_str][key] = value

 

def__getitem__(self,key):

  return container[self.random_str][key]

 

Copyright © 2024 大白不白
Powered by .NET 8.0 on Kubernetes