基本操作:
路由系统:
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]