0

メッセージング フレームワークについて、ドキュメントでは、すべてのメッセージに css で使用できる message.tag プロパティがあると書かれています。私のコードは次のようになります

try:
    models.save()
    message.success(request, "Model successfully saved")
except DatabaseManagementTransaction:
    message.error(request, "Model could not be saved")

私のhtmlテンプレートで

{% if messages %}
    {% for message in messages %}
        <div class="alert alert-{{message.tag}} alert-dissmissable">
            {{message}}
        </div>
    {%endfor%}
{% endif %}

しかし、テンプレートがレンダリングされると、message.tag が表示されず、div クラスは次のようになります

<div class="alert alert- alert-dissmissable">...</div>

これを機能させるには、設定ファイルに MESSAGE_TAGS を作成する必要がありますか? message.tag が空なのはなぜですか? そして別の質問です。ユーザーに表示された後、メッセージはどうなりますか? それらは削除されていますか?新しいモデルを追加すると、以前のメッセージと新しく追加されたメッセージが表示されますか?

4

1 に答える 1

2

テンプレートのtagsようにする必要があります。alert-{{message.tags}}

ユーザーに表示された後、メッセージはどうなりますか? それらは削除されていますか?

はい、ストレージから繰り返される (またはテンプレートを介して表示される) と、それらはクリアされます。メッセージの有効期限を参照してください。

新しいモデルを追加すると、以前のメッセージと新しく追加されたメッセージが表示されますか?

messagesリストには、現在アクティブなすべてのメッセージが含まれます。したがって、前のメッセージがまだそこにある場合は、それも表示されます。

于 2013-11-11T12:29:00.320 に答える