【问题标题】:Django messages: how to change html structure?Django 消息:如何更改 html 结构?
【发布时间】:2018-04-25 17:08:00
【问题描述】:

所以我已经为消息设置了一些非常具体的样式约束,并且我已经将 ::before 和 ::after 推到了尽可能远的位置。除此之外,我真正需要的是将消息文本包含在跨度标记中,理想情况下使用可设置的类(它只是转储在 div 中,一开始并不好)。

在 Django 中是否有任何设置,或者我可以去任何地方重构 html?我找不到任何文档(当然,这不是一件不常见的定制)。

另一种方法是使用 js,但我更愿意避免剪切和粘贴元素和内容,因为它应该是可定制的。

我得到的是:

<div class="messages">
    <div class="alert alert-success alert-dismissable fade show">
        <a href="#" class="close" data-dismiss="alert" aria-label="close">x</a>
        [message text]
    </div>
</div>

我想要的是:

<div class="messages">
    <div class="alert alert-success alert-dismissable fade show">
        <a href="#" class="close" data-dismiss="alert" aria-label="close">
            <i class="close-icon"></i>
        </a>
        <span>[message text]</span>
    </div>
</div>

在views.py 中,我在各个地方使用SuccessMessageMixin

【问题讨论】:

  • 什么消息?你是说 contrib.messages 框架吗?这根本不包括任何特定的 HTML,因此很难知道您的问题在问什么。
  • 我的意思是这样,html设置在哪里?
  • HTML 没有在任何地方设置。该应用程序根本不提供任何 HTML。
  • 您经常将消息代码放在基本模板中,以便消息显示在站点的所有页面上。如果搜索class="messages"{% if messages %} 没有找到模板,您可以使用调试工具栏,它会显示视图使用的模板。

标签: django django-messages


【解决方案1】:

因此,正如向我指出的那样,这是我的搜索失败。消息的 html 结构通常可以在 base.html 中找到(似乎这是一个标准的设置位置)。

这里有一些很好的文档:https://django-advanced-training.readthedocs.io/en/latest/features/contrib.messages/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 2021-01-07
    • 2016-01-08
    • 2016-03-30
    相关资源
    最近更新 更多