Size: 3162
Comment:
|
Size: 27
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
== wsgiref == {{{#!python import wsgiref def hello_app(environ, start_response): start_response('200 OK', {}) yield 'Hello world' for key, value in environ.items(): yield '%s : %s' % (key, value) server = wsgiref.make_server('localhost', 8000, hello_app) server.serve_forever() }}} == mako == {{{#!python from mako import Template tmpl = Template('./simple.html') print tmpl.render(data = {'a':1, 'b':2}) }}} simple.html {{{ <html> <head> <title>简单mako模板</title> </head> <body> <h5>Hello World!</h5> <ul> % for key, value in environ.items(): <li> ${key} - ${value} <li> % endfor </ul> </body> </html> }}} 和 wsgiref 整合: {{{#!python import wsgiref from mako import Template def hello_app(environ, start_response): tmpl = Template('./simple.html') content = tmpl.render(data=environ) start_response('200 OK', {}) return content server = wsgiref.make_server('localhost', 8000, hello_app) server.serve_forever() }}} == sqlalchemy == model.py {{{#!python from sqlalchemy.ext.declarative import declarative_base engine = create_engine('sqlite:///data.db') Session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine)) Base = declarative_base() class Dictionay(Base): __tablename__ = 't_dictionay' key = Column('key', String(255), primary_key=True) value = Column('value', String(255)) # 创建数据库 Base.metadata.create_all(engine) session = Session() for item in ['python','ruby','java']: dictionay = Dictionay(key=item, value=item.upper()) session.add(dictionay) session.commit() for dictionay in session.query(Dictionary): print dictionay.name, dictionay.value }}} 上面是个 demo,下面我们把它放到web应用中去。 model.py {{{#!python from sqlalchemy.ext.declarative import declarative_base engine = create_engine('sqlite:///data.db') Session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine)) Base = declarative_base() class Dictionay(Base): __tablename__ = 't_dictionay' key = Column('key', String(255), primary_key=True) value = Column('value', String(255)) }}} create_db.py {{{#!python from model import Base, Session, Dictionary # 创建数据库 Base.metadata.create_all(engine) # 插入初始数据 session = Session() for item in ['python','ruby','java']: dictionay = Dictionay(key=item, value=item.upper()) session.add(dictionay) session.commit() }}} 和 wsgiref 整合 {{{#!python import wsgiref from mako import Template from model import Session, Dictionary def hello_app(environ, start_response): session = Session() dictionaries = session.Query(Dictionary) data = dict([(dictionary.name, dictionary.value) for dictionary in dictionaries]) tmpl = Template('./simple.html') content = tmpl.render(data=data) start_response('200 OK', {}) return content server = wsgiref.make_server('localhost', 8000, hello_app) server.serve_forever() }}} |
from webob import Request |
from webob import Request