1

私は、ユーザーが互いにメッセージを送信できる Facebook のようなメッセージング システムを実装したプロジェクトに取り組んでいます。特定のスレッドの未読メッセージの数もメッセージ ページに表示されます。

今私が欲しいのは、ユーザーがログインするたびに、ナビゲーションバー(base.html にあります) に未読メッセージの数を表示することです。ユーザーがログインするたびにこれを行うにはどうすればよいですか?

提案してください。この目的のために他のアプリを使用したくありません。ありがとう

4

1 に答える 1

4

これを行うことができる簡単なタグを書くことができます。

def unread_messages(user):
    return user.messages_set.filter(read=False).count()
    #replace the messages_set with the appropriate related_name, and also the filter field. (I am assuming it to be "read")

register.simple_tag(unread_messages)

そして基本テンプレートでは:

{% load <yourtemplatetagname> %}

{% if request.user.is_authenticated %}
    {{ request.user|unread_messages }}
{% endif %}
于 2013-06-28T15:50:12.457 に答える