跬步 On Coding

HTTP Cookie

什么是Cookie

Cookie用于存储http请求中的用户认证信息,用户在通过登录认证后,服务器在response header中设置Cookie,用户浏览器自动带Cookie访问该网站。

response header 中添加 Set-Cookie信息,cookie是一组key,value值。

Set-Cookie: <name>=<value>[; <name>=<value>]...
            [; expires=<date>][; domain=<domain_name>]
            [; path=<some_path>][; secure][; httponly]

WSGI 理解

参考

WSGI 简介

WSGI是Python webserver与Web App之间的协议。这个协议定义了Web server和App的行为,是的server与app分离,简化了开发。

WSGI server,Gunicorn(python实现),uWSGI(C实现),这些服务器程序都实现了标准的WSGI接口,任意web app都可以使用不同的server。

urllib2 使用

基础用法

urllib2是用来发送http请求,获取响应数据的库。基础用法:

import urllib2

# urlopen返回类文件对象,可选参数data与请求头header
response = urllib2.urlopen('http://bozpy.sinaapp.com', [data, [header]])
body = response.read() # 类文件对象有与文件对象类似的方法,read,readline等
heade = response.info() # 获取响应的头,字典
url = response.geturl() # 获取响应的真实url,如果有重定向,url会改变

ORM 对象关系映射

ORM概念

wikipedia: 对象关系映射

简单的说ORM就是通过操作Python中的对象来实现对关系数据库(MySQL)中数据的操作。Model类与数据库表映射,Model对象与数据库中的行映射,对象的属性与表中的字段映射。

用Python实现基本功能的ORM

首先定义Field类,代表DB中tabale的每一个字段,对象初始化的时候需要定义的属性有,字段名称,字段数据类型,是否为主键,是否可为空,字段默认值,是否可更改等字段属性

Python 中的元类

参考

深刻理解Python中的元类(metaclass)

类与类的创建

Python中的class也是object,所以类可以作为参数,作为函数返回值,作为对象获取属性。

class MyClass(object):
    pass

myObject = MyClass()

type(myObject) # 获取对象的类
# <class '__main__.MyClass'>

type(MyClass) # 所有的类都是type类的对象
# <type 'type'>

myObject.__class__ # 获取对象的类
# <class '__main__.MyClass'>

MyClass.__class__
# <type 'type'>