1

我正在使用 Django 的消息传递框架来提醒用户消息已成功发送。默认情况下,您使用 {{ messages }} 在模板中显示 Django 消息。我想通过重命名变量以将 Django 的系统消息引用为 {{ system_message }} 之类的东西来避免任何混淆的可能性,让 {{ message }} 可以自由引用用户消息。

我试过做类似的事情

from django.contrib import messages as system_message

但在这种情况下重命名它并不能延续到我的模板。有什么建议么?

4

1 回答 1

2

Messages 不是模板标签,而是"django.contrib.messages.context_processors.messages"处理器提供的模板上下文变量。我认为重命名它的最佳方法是简单地将 django 的上下文处理器替换为您自己的版本,例如:

from django.contrib.messages.api import get_messages

def messages(request):
    """
    Returns a lazy 'messages' context variable.
    """
    return {'your_name_space': get_messages(request)}
于 2012-09-02T08:42:05.893 回答