1 Star 0 Fork 0

yifanes / blog

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
app.py 2.70 KB
一键复制 编辑 原始数据 按行查看 历史
yifanes 提交于 2013-09-18 17:22 . 完成分页显示
#-*-coding:utf-8-*-
__author__ = 'yifanes'
import web, settings
web.config.debug = True
urls = (
'([a-z0-9\/]*)', 'dispatcher'
)
class dispatcher:
#构造方法
def __init__(self):
pass
def GET(self, path):
return self.__request(path)
def POST(self, path):
return self.__request(path)
def __request(self, path = ''):
try:
if path.count('/') < 2:
path = settings.DEFAULT_PATH
#此处的操作 去空格 取子串 然后分割一步到位
modelName, controllerName = path.strip()[1:].split('/',1)
if not controllerName:
controllerName = 'index'
#此处情况如下: localhost:8080//
if not modelName:
return 'modelName missing'
#这两步充满niubility
try:
moduleList = __import__('action.' + modelName, {}, {}, [modelName])
except Exception ,e:
#return 'no such model:'+ modelName
return Exception ,e.message
modelObj = getattr(moduleList, modelName)()
#print modelObj #<action.index.index instance at 0x012C3D00>
if hasattr(modelObj, controllerName):
result = getattr(modelObj, controllerName)()
else:
result = 'no controller'
return result
except Exception ,e:
from action.base import base as baseAction
baseobj = baseAction()
if e.message == 'db file not exists':
#return '数据库文件不存在呃~~'
return baseobj.error('尚未安装?',baseobj.makeUrl('install'))
return baseobj.error(e.message, baseobj.makeUrl('index'))
#return Exception ,e.message
#return e.message
#raise Exception ,e.message
def session_hook(session):
web.cxt.session = session
if __name__ == '__main__':
#header("Content-Type","text/html; charset=utf-8")
app = web.application(urls,globals())
#注册session
web.config.session_parameters['cookie_name'] = 'yifanes_pyblog'
web.config.session_parameters['cookie_domain'] = None
web.config.session_parameters['timeout'] = 10*60
web.config.session_parameters['ignore_expiry'] = True
web.config.session_parameters['ignore_change_ip'] = True
web.config.session_parameters['secret_key'] = 'yifanes'
web.config.session_parameters['expired_message'] = 'Session expired'
session = web.session.Session(app, web.session.DiskStore('data/sessions'), initializer={'login': False})
def session_hook():
web.ctx.session = session
app.add_processor(web.loadhook(session_hook))
app.run()
Python
1
https://gitee.com/yifanes/blog.git
git@gitee.com:yifanes/blog.git
yifanes
blog
blog
master

搜索帮助