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
添加回答
举报