谷歌应用程序引擎-时间计数器python GAE



我试图获得查询启动和刷新页面之间的秒数。我使用下面的代码:

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)

似乎我在time_lapse,而不是秒的差异,但自Epoch以来的时间,我做错了什么?

编辑:为了澄清起见,这里是我调用top_blogs函数的时候,理论上它应该更新我的查询和变量last_queries:
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()))

请记住,在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()

这是因为您将last_queries初始化为0,并且当您调用top_blogs时没有指定更新(默认为False),因此它永远不会进入if块,从而更改last_queries

最新更新