时间计数器python GAE

时间:2014-03-23 21:06:52

标签: python google-app-engine time

我正在尝试获取启动查询和刷新页面时的秒数。 我正在使用以下代码:

Import time

last_queried = 0

def top_blogs(update = False):
    blogs = memcache.get(key)
    global last_queried
    if update:
        blogs = GqlQuery("Select * from Blog Order by created Desc limit 10")
        last_queried = time.time()
        memcache.set(key, blogs)
    return blogs

当我显示页面时:

class FrontpageHandler(Handler):
    def get(self):
        global last_queried
        blogs = top_blogs()
        render_time=time.time()
        time_lapse = render_time - last_queried
        self.render("front.html", blogs = blogs, time=time_lapse)

似乎我正赶上时间,而不是几秒钟的差异,而是自大纪元以来的时间,我做错了什么?

此致

编辑:为了澄清,这里是我调用top_blogs函数的时候,它应该在理论上更新我的查询和变量last_queried:

class NewPostHandler(Handler):
    def post(self):
        subject = self.request.get("subject")
        content = self.request.get("content")
        if subject and content:
            a = Blog(parent = blog_key(), subject=subject, content=content)
            a.put()
            top_blogs(True)
            self.redirect("/blog/%s" %str(a.key().id()))

2 个答案:

答案 0 :(得分:0)

请记住,在python中导入内容时不要使用大写字母。

您可以尝试以下示例,看看您的位置:

from datetime import datetime  

last_queried = datetime.now()
render_time = datetime.now()

time_lapse = last_queried - render_time
time_lapse.seconds() # -> number
time_lapse.microseconds()

答案 1 :(得分:0)

这是因为你初始化last_queried为0,当你调用top_blogs时你没有指定更新(默认为False),因此它永远不会进入更改last_queried的if块。