0

我有一個DetailView,我描繪關於我的models.Auction對象的詳細信息,包括到期的參數(使用jquery.countdown倒計時時間後成品&火災事件)。Django的觀點並不location.reload後正確渲染()

這裏是倒計時&完成事件的代碼:

<script> 
$('#clock').countdown('{{ auction.get_time_left }}', function(event) { 
     $(this).html(event.strftime('%D {% trans "day/days" %} %H:%M:%S')); 
    }).on('finish.countdown', function(){ 
    setTimeout(function(){ location.reload()}, 1500); 
}); 
</script> 

在視圖我檢查: if datetime.now() >= context['auction'].expires:,我呈現不同的模板;

但由於某些原因,當它做location.reload()它不檢查該條件(跳過它)並呈現相同的模板(與時間到期)。
P.S.我也嘗試在終端上打印某些內容(但它也跳過了打印)

回答

0

默認情況下,reload()方法會從緩存中重新加載頁面,但您可以強制它通過設置從服務器重新加載頁面在forceGet參數設置爲true:

location.reload(true). 
+0

很高興知道,謝謝。我已經修復了它,我忘了將秒數傳遞給jquery倒計時(只有幾天,幾小時,幾分鐘),所以這就是爲什麼視圖中的計算與倒計時結束時不匹配的原因。 – lcadc17

0

我忘了傳遞秒到jQuery的倒計時(僅天,小時,分鐘),所以這就是爲什麼在視圖中的計算並沒有隨着倒計時的結束相匹配。