为了账号安全,请及时绑定邮箱和手机立即绑定

全球连续3分钟倒计时

全球连续3分钟倒计时

慕仙森 2023-07-14 15:30:08
我正在开发一个 django web 应用程序,所以我不知道是否有可能进行 3 分钟的全局倒计时,并在每 3 分钟结束时连续刷新页面。我尝试使用 js,但如果刷新页面,倒计时会重新开始
查看完整描述

1 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

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


我认为实现此目的的最佳方法是使用 context_processor。在 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


查看完整回答
反对 回复 2023-07-14
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信