def pre_render(kw): """模板引擎预处理过程""" user_name = xauth.current_name() or "" kw["math"] = math kw["_is_admin"] = xauth.is_admin() kw["_has_login"] = xauth.has_login() kw["_user_name"] = user_name kw["_user_agent"] = get_user_agent() # 处理首页公告 kw["_top_notice"] = None # 用于渲染其他组件 kw["_render"] = render kw["Storage"] = Storage kw["xutils"] = xutils kw["xconfig"] = xconfig kw["_user_config"] = get_user_config_dict(user_name) kw["_notice_count"] = get_message_count(user_name) kw["T"] = T kw["HOME_PATH"] = xconfig.get_user_config(user_name, "HOME_PATH") kw["THEME"] = xconfig.get_user_config(user_name, "THEME") if hasattr(web.ctx, "env"): kw["HOST"] = web.ctx.env.get("HTTP_HOST") if len(xconfig.errors) > 0: kw["warn"] = "; ".join(xconfig.errors) # render input _input = web.ctx.get("_xnote.input") if _input is not None: kw.update(_input)
def GET(self): page = xutils.get_argument("page", 1, type=int) user_name = xauth.get_current_name() pagesize = xconfig.PAGE_SIZE offset = (page - 1) * pagesize files = NOTE_DAO.list_by_parent(user_name, 0, offset, pagesize) amount = NOTE_DAO.count_by_parent(user_name, 0) parent = NOTE_DAO.get_root() return xtemplate.render(VIEW_TPL, file_type="group", back_url=xconfig.get_user_config( user_name, "HOME_PATH"), pathlist=[ parent, Storage(name="默认分类", type="group", url="/note/default") ], files=files, file=Storage(id=1, name="默认分类", type="group", parent_id=0), page=page, page_max=math.ceil(amount / pagesize), groups=NOTE_DAO.list_group(), show_mdate=True, page_url="/note/default?page=")
def GET(self): if xauth.has_login(): user_name = xauth.current_name() raise web.found(xconfig.get_user_config(user_name, "HOME_PATH")) else: raise web.found("/note/public")