1

我想在模板中显示一条消息,其中包含大量信息,但我还没有看到任何方法可以给它一个自定义名称,这将允许它具有适当的类或 id 进行样式设置。在 Laravel 中:

网页.php

@if (session()->has('login_success'))
    <div id="loginFlash">{{ session('login_success') }}</div>
@endif

login_success在渲染页面之前定义在哪里

到目前为止,Django:

网页.html

{% for message in messages %}
    <div id="{{ message.tags }}">
        {{ message }}
    </div>
{% endfor %}

但我无法message.tags返回单个自定义值。例如:

messages.add_message(self.request, messages.INFO, self.request.user.username, 'loginFlash')

这将返回:

<div id="loginFlash info">
    username
</div>

如何删除第二个参数?似乎所有message方法都至少指定了一个标签。非常感谢!

4

2 回答 2

0

您可以tags.messages通过覆盖该级别的设置来自定义输出以自定义每个消息类别的标签/类,如下所示:

https://docs.djangoproject.com/en/2.0/ref/contrib/messages/#message-tags

https://docs.djangoproject.com/en/2.0/ref/settings/#std:setting-MESSAGE_TAGS

于 2017-12-15T20:04:59.203 回答
0

需要另一个 if 语句,但可以完成工作:

{% for message in messages %}
    {% if 'loginFlash' in message.tags %}
        <div id="loginFlash">{{ message }}</div>
    {% endif %}
{% endfor %}
于 2017-12-15T20:58:30.457 回答