当前位置: 首页 > 面试题库 >

如何在新的Django消息框架中的消息中输出HTML?

冯招
2023-03-14
问题内容

我试图在通过新的Django消息框架显示的消息中显示一些html。具体来说,我是通过ModelAdmin.message_user方法执行此操作的,该方法只是围绕messages()的一个瘦包装:

def message_user(self, request, message):
    """
    Send a message to the user. The default implementation
    posts a message using the django.contrib.messages backend.
    """
    messages.info(request, message)

到目前为止,我尝试过的所有内容似乎都显示了转义的HTML。

self.message_user(request, "<a href=\"http://www.google.com\">Here's google!</a>")

不起作用,也不会:

from django.utils.safestring import mark_safe
...
self.message_user(request, mark_safe("<a href=\"http://www.google.com\">Here's google!</a>"))

admin base.html模板中模板代码的显示非常简单:

    {% if messages %}
    <ul class="messagelist">{% for message in messages %}<li>{{ message }}</li>{% endfor %}</ul>
    {% endif %}

因此,我不确定自己在做什么错。


问题答案:

另一个选择是使用extra_tags关键字arg指示消息是安全的。例如

messages.error(request, 'Here is a <a href="/">link</a>', extra_tags='safe')

然后使用模板逻辑来使用安全过滤器

{% for message in messages %}
    <li class="{{ message.tags }}">
    {% if 'safe' in message.tags %}{{ message|safe }}{% else %}{{ message }}{% endif %}
    </li>
{% endfor %}


 类似资料:
  • 在网页应用中,你经常需要在处理完表单或其它类型的用户输入后,显示一个通知消息(也叫做“flash message”)给用户。 对于这个功能,Django 提供基于Cookie 和会话的消息,无论是匿名用户还是认证的用户。其消息框架允许你临时将消息存储在请求中,并在接下来的请求(通常就是下一个请求)中提取它们并显示。每个消息都带有一个特定level 标签,表示其优先级(例如info、warning

  • 问题内容: 我不确定如何在我的方法中编写弹出消息框的代码。 我试图在我的方法中使用它,但是它不起作用: 问题答案: javax.swing.JOptionPane 这是我想弹出一个信息框时所调用的方法的代码,它将占据屏幕,直到被接受为止: 第一个参数(在此示例中)用于对齐对话框。使其在屏幕上居中,但是可以指定任何内容,而对话框将显示在屏幕中央。 我倾向于使用String来描述调用该框的代码在哪里,

  • 问题内容: 如何过滤来自外部第三方框架的日志消息?我正在使用Hibernate和Spring框架,我想隐藏日志,以便仅显示我的log4j日志。 问题答案: 在我的log4j.properties文件中,将根记录器的记录级别设置为ERROR。然后,对于我特别想记录的软件包(如应用程序代码),将记录级别设置为INFO或DEBUG。 我看到同事将root日志设置得很低,然后最终列出了他们不想看到的所有内

  • 我想创建没有按钮的消息框,这将消失,例如2.5秒后。我知道我可以使用并将其放入线程中而不是杀死它,但也许还有更好的方法。如果没有,如何创建空消息框?

  • 本文向大家介绍Python的Django框架中消息通知的计数器实现教程,包括了Python的Django框架中消息通知的计数器实现教程的使用技巧和注意事项,需要的朋友参考一下 故事的开始:.count() 假设你有一个Notification Model类,保存的主要是所有的站内通知: 理所当然的,刚开始你会通过这样的查询来获取某个用户的未读消息数: 当你的Notification表比较小的时候,

  • 我不知道如何获取消息的消息链接,discordjs文档似乎没有任何关于消息链接的内容。我试过这个: 但其结果是“行会没有定义”。我这样做对吗?