在Django中,如何在我自己的视图中显示管理员消息?

时间:2012-09-13 06:12:52

标签: django django-templates django-admin

在我的Django中,我正在将管理员集成到某些实用程序功能中,例如直接链接到特定管理页面以编辑模型并覆盖ModelAdmin response_change方法,以便在用户单击“保存”时重定向回我自己的视图。

这很好用 - 除了管理员的消息(例如“这样的模型已保存”或其他)未显示在messages模板上下文变量中,正如消息通常在您使用时所做的那样message.success(...)等。

如何让管理员的消息像普通消息一样显示,或者如何在我自己的模板中访问这些消息?

1 个答案:

答案 0 :(得分:0)

如果您想使用response_change在管理员中显示自定义消息,请使用

messages.info(request, 'Model was changed successfully.')

如果您使用自己的观点,请使用以下代码。它对我有用。

messages.success(request, ("Model added successfully"), fail_silently=True)

然后,如果您使用自定义tempalte,请在模板中使用以下内容。

{% if messages %}
    <div align='center'>
        <ul id="message" >
            {% for message in messages %}
                <ul{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{message}}</ul>
            {% endfor %}
        </ul>
    </div>
{% endif %}