我试图获得查询启动和刷新页面之间的秒数。我使用下面的代码:
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