全球连续3分钟倒计时



我正在开发一个django网络应用程序,所以我不知道是否可能有3分钟的全局倒计时,在每3分钟结束时连续刷新页面。我试着使用js,但如果我刷新页面,倒计时会重新开始

这个帐户太新了,无法发表评论,但你是说你想要全局刷新3分钟,这样网站上的所有页面(或你选择的页面(都可以同时为每个用户刷新吗?

我认为实现这一点的最佳方法是使用上下文处理器。在Django中,您可以添加一个context_processors.py,它定义了添加到每个模板的额外上下文。在context_processors.py内部,您可以执行以下操作:

from datetime import datetime, timedelta
def get_refresh_time():
now = datetime.now()
hour = now.hour
minute = now.minute
second = now.second
if minute%3 == 0:
new_datetime = datetime(now.year, now.month, now.day, now.hour, 
now.minute) + timedelta(minutes=3)
elif minute%3 == 1:
new_datetime = datetime(now.year, now.month, now.day, now.hour, 
now.minute) + timedelta(minutes=2)
elif minute%3 == 2:
new_datetime = datetime(now.year, now.month, now.day, now.hour, 
now.minute) + timedelta(minutes=1)

additional_context = {'refresh_time': new_datetime}
return additional_context

这将使{{ refresh_time }}在您拥有的任何HTML文件中都可以访问。然后,您可以将它添加到jQuery函数中,以便在该时间刷新页面。

确保将该context_processor添加到settings.TEMPLATES中的正确位置

最新更新