增加django消息的显示时间

时间:2012-12-18 12:08:34

标签: javascript django

在我的应用中,每当删除一个问题时,它会显示一条django消息,表示该问题已被删除。 相关代码是:

from django.contrib import messages

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

消息会根据需要显示,但我希望显示消息的持续时间更长说至少10秒。或直到用户点击它。

在django docs看到消息过期但仍然无法弄清楚,我没有像消息存储那样我可以设置为false。

帮助赞赏:)

1 个答案:

答案 0 :(得分: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>