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
添加回答
舉報