2012-12-18 73 views
1

在我的應用程序中,每當一個問題被刪除時,它顯示一個django消息,該問題被刪除。 相關的代碼是:根據需要獲取顯示增加Django消息的顯示時間

from django.contrib import messages 

msg= _('Question is deleted') 
messages.info(request, msg) 

該消息,但是,我想顯示消息,持續更長的時間說最小10秒。或直到用戶點擊它。

在django文檔中看到了郵件過期,但仍然無法弄清楚,而且我沒有任何可以設置爲false的郵件存儲。

幫助讚賞:)

+1

這是JavaScript的領土可能,顯示在顯示信息模板代碼。 – soulseekah

+1

但是,這並不是剛剛輸入到模板中的信息,而是由您的模板決定如何處理它以及在何處顯示它(以及如果您使用Javascript代碼來刷新信息多長時間)。上面的代碼只是分配數據並將其傳遞到您的模板中,然後將整個事情交給您的瀏覽器進行呈現? – soulseekah

回答

7

你想要做的事情是javascript域。下面的代碼將顯示您的消息10秒,或者您可以手動關閉它。在模板中,你可以這樣做:

{% for message in messages %} 
    <div class="message"> 
     {{ message }} 
     <a href="#" class="del-msg">&times;</a> 
    </div> 
{% endfor %} 

而且在javascript:

<script> 
    $(document).ready(function() { 
     // messages timeout for 10 sec 
     setTimeout(function() { 
      $('.message').fadeOut('slow'); 
     }, 10000); // <-- time in milliseconds, 1000 = 1 sec 

     // delete message 
     $('.del-msg').live('click',function(){ 
      $('.del-msg').parent().attr('style', 'display:none;'); 
     }) 
    }); 
</script> 
+1

答案是正確的,因爲當我設置一個低至10或100的限制時,它可以工作,但是當我將限制設置爲10000時,即顯示10秒時,它不起作用。我相信這10秒是比django消息所允許的默認時間長。好心提醒 :) –