xxxxxxxx

class IndexHandler(BaseRequestHandler):

    def get(self, page=1):
        print(‘iiiiiiiiiiiiiiiii‘)
        current_time = time.time()

        conn = ORM.session()

        all_count = conn.query(ORM.News).count()

        obj = Pagination(page, all_count)

        current_user_id = self.session[‘user_info‘][‘nid‘] if self.session[‘is_login‘] else 0
        result = conn.query(ORM.News.nid,
                            ORM.News.title,
                            ORM.News.url,
                            ORM.News.content,
                            ORM.News.ctime,
                            ORM.UserInfo.username,
                            ORM.NewsType.caption,
                            ORM.News.favor_count,
                            ORM.News.comment_count,
                            ORM.Favor.nid.label(‘has_favor‘)).join(ORM.NewsType, isouter=True).join(ORM.UserInfo, isouter=True).join(ORM.Favor, and_(ORM.Favor.user_info_id == current_user_id, ORM.News.nid == ORM.Favor.news_id), isouter=True)[obj.start:10]
        conn.close()

        str_page = obj.string_pager(‘/index/‘)

        self.render(‘home/index.html‘, str_page=str_page, news_list=result,current_time=current_time)
#!/usr/bin/env python
# -*- coding:utf-8 -*-

class Pagination:
    def __init__(self, current_page, all_item):
        try:
            page = int(current_page)
        except:
            page = 1
        if page < 1:
            page = 1

        all_pager, c = divmod(all_item, 5)
        if c > 0:
            all_pager += 1

        self.current_page = page
        self.all_pager = all_pager

    @property
    def start(self):
        return (self.current_page - 1) * 5

    @property
    def end(self):
        return self.current_page * 5

    def string_pager(self, base_url="/index/"):
        list_page = []
        if self.all_pager < 11:
            s = 1
            t = self.all_pager + 1
        else:  # 总页数大于11
            if self.current_page < 6:
                s = 1
                t = 12
            else:
                if (self.current_page + 5) < self.all_pager:
                    s = self.current_page - 5
                    t = self.current_page + 5 + 1
                else:
                    s = self.all_pager - 11
                    t = self.all_pager + 1
        # 首页
        # first = ‘<a href="%s1">首页</a>‘ % base_url
        # list_page.append(first)
        # 上一页
        # 当前页 page
        if self.current_page == 1:
            prev = ‘<a href="javascript:void(0);">上一页</a>‘
        else:
            prev = ‘<a href="%s%s">上一页</a>‘ % (base_url, self.current_page - 1,)
        list_page.append(prev)

        for p in range(s, t):  # 1-11
            if p == self.current_page:
                temp = ‘<a class="active" href="%s%s">%s</a>‘ % (base_url,p, p)
            else:
                temp = ‘<a href="%s%s">%s</a>‘ % (base_url,p, p)
            list_page.append(temp)
        if self.current_page == self.all_pager:
            nex = ‘<a href="javascript:void(0);">下一页</a>‘
        else:
            nex = ‘<a href="%s%s">下一页</a>‘ % (base_url, self.current_page + 1,)

        list_page.append(nex)

        # 尾页
        # last = ‘<a href="%s%s">尾页</a>‘ % (base_url, self.all_pager,)
        # list_page.append(last)

        # 跳转
        # jump = """<input type=‘text‘ /><a onclick="Jump(‘%s‘,this);">GO</a>""" % (‘/index/‘, )
        # script = """<script>
        #     function Jump(baseUrl,ths){
        #         var val = ths.previousElementSibling.value;
        #         if(val.trim().length>0){
        #             location.href = baseUrl + val;
        #         }
        #     }
        #     </script>"""
        # list_page.append(jump)
        # list_page.append(script)
        str_page = "".join(list_page)
        return str_page
时间: 2024-11-29 00:29:51

xxxxxxxx的相关文章

python- 按照日期格式(xxxx-xx-xx)每日生成一个文件

请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件,例如今天生成的文件为2013-09-23.log, 并且把磁盘的使用情况写到到这个文件中. #!/usr/bin/env python #!coding=utf-8 import time import os new_time = time.strftime('%Y-%m-%d') //time.strftime()可以用来获得当前时间,可以将时间格式化为字符串 disk_status = os.popen('df -h').read

eclipse svn Aborting commit: &#39;XXXXXXXX&#39;remains in conflict

svn提交新代码的时候,一直报错“Aborting commit: 'XXXXXXXX'remains in conflict” 于是开始搜寻解决办法,网络上大多是单独使用svn时的解决办法,其中前因后果讲的比较详细的是这篇: http://blog.sina.com.cn/s/blog_5d2673da0100i78k.html 讲的太复杂不太适合实战.读完之后仍然不知怎样解决,于是用很笨的方法,手动删除了临时文件再提交,虽然提交成功但是这个方法太暴力不可取. 之后又找到此文,觉得很实用,特此

could not build module &#39;XXXXXXXX&#39;或者error: expected identifier or &#39;(&#39; 。一堆奇怪的错误————错误根源

一堆奇怪的错误:1??could not build module 'XXXXXXXX' 2??error: expected identifier or '(' 3??EDIT Setting Precompile prefix header = No results in a bunch of syntax errors instead, in stuff like NSObject.h (and other 4??Foundation framework header) 5??EDIT U

CodeSign error: no provisioning profile at path &#39;/Users/XXX/Library/MobileDevice/Provisioning Profiles/XXXXXXXX.mobileprovision&#39;

新的Xcode 如果更新了provisioning profile文件之后,编译工程时会出现错误: CodeSign error: no provisioning profile at path '/Users/XXX/Library/MobileDevice/Provisioning Profiles/XXXXXXXX.mobileprovision' 这个时候无论Clean多少遍都是咩用的,解决办法是: 1.找到工程project文件右击显示包内容: 2.在包里找到project.pbxpr

NetworkError: 404 Not Found - http://xxxxxxxx/xx-font.woff

解决方法 asp.net 中会遇到一个@font-face 问题: NetworkError: 404 Not Found - http://xxxxxxxx/xx-font.woff 修改方法: 方法一.从 IIS 入手: 选中 iss 里的 MIME Types --> Add... --> File name extension:.woff MIME type:font/opentype 方 法二.从 Web.config 入手 找到项目的 Web.config 文件,在文件的最后<

用户"IIS APPPOOL\xxxxxxxx"登录失败解决方案

Server Error in '/' Application.--------------------------------------------------------------------------------无法打开登录所请求的数据库 "xxxxxx".登录失败.用户 'IIS APPPOOL\xxxxxxxxxxxx 登录失败. 或者这样的错误信息: 异常详细信息: System.Data.SqlClient.SqlException: 用户 'IIS APPPOOL

Windows2008 R2下,应用程序池 &#39;XXXXXXXX&#39; 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误。

转:http://www.cnblogs.com/freeton/archive/2012/08/28/2660585.html http://www.hack001.com/post/151 Windows2008 R2下,应用程序池 'XXXXXXXX' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误.

c# 无法加载 DLL xxxxxxxx找不到指定的模块。 (异常来自HRESULT:0x8007007E)。的一个解决方法

最近在做一个程序,想把某些功能用C++写成DLL供C#调用.但是无法如何都无法调用,提示"无法加载 DLL xxxxxxxx找不到指定的模块. (异常来自HRESULT:0x8007007E)." 而这个DLL放在另外一个程序却可以正常调用,经过仔细对比两者的区别时,发现这个DLL需要另外一个DLL文件,而另外的程序有另外的DLL,这个程序没有.于是把这个DLL放在这个程序的目录下就能正常调用自己写的DLL了.呵呵,真是惭愧.

XXXXXXXX不会太多吧?

XXXXXXXX不会太多吧? 有些统计类问题,看起来完全不可做! 但是经过一些观察,我们可以得出一些神妙的结论. 栗子1:Make Symmetrical ! \(x^2+y^2=c\)的解不会太多. 题意: 维护一个二维平面点集,支持插入删除查询操作.每次查询输入一个点\((x,y)\),求出,要让点集关于\((0,0),(x,y)\)对称,需要补多少个点. 题解: 首先如果\(x^2+y^2\)不是完全平方数,那这条直线很划水的.[想一想就能意识到了] 然后,如果\((x_1,y_1)\),

通配符的匹配很全面, 但无法找到元素 &#39;xxxxxxxx&#39;

首先,一般配置通配符之前,你都会有如下xml头吧 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://