You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django中显示带框的Toaster提示通知?

实现Django中带框的Toaster提示通知

咱们先一步步拆解问题,先修复现有代码的bug,再配置出你想要的带框提示效果:

1. 先解决基础调用的错误

你当前模板里的toastr调用有个关键问题:{{ message }}没加引号,toastr会把它当成JS变量而非字符串,直接运行会报错。先把模板代码改成这样:

{% for message in messages %}
    toastr.{{ message.tags }}("{{ message }}");
{% endfor %}

2. 引入Toastr的依赖文件

Toastr需要依赖jQuery和自身的CSS/JS文件才能工作,你得在模板里先引入这些资源(可以用CDN,也可以下载到本地)。比如在你的base模板里:

<!-- 放在<head>里引入Toastr样式 -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css">

<!-- 放在</body>结束前引入依赖和Toastr脚本 -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>

3. 配置带框的提示样式

默认的toastr没有明显边框,要实现类似示例图的效果,咱们可以通过自定义配置+CSS来实现:

第一步:设置Toastr全局配置

在调用toastr之前,先添加全局配置,给提示框加自定义类:

<script>
// 全局配置Toastr,添加自定义类用于加边框
toastr.options = {
    "closeButton": true,
    "progressBar": true,
    "positionClass": "toast-top-right",
    "timeOut": "5000",
    "toastClass": "toast-with-border" // 自定义类名
}

{% for message in messages %}
    toastr.{{ message.tags }}("{{ message }}");
{% endfor %}
</script>

第二步:添加自定义CSS样式

在模板的<style>标签或者你的CSS文件里,给这个自定义类加边框和美化样式:

.toast-with-border {
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    background-color: #fff;
}

/* 不同类型的提示可以设置不同的边框色 */
.toast-success.toast-with-border {
    border-color: #28a745;
}
.toast-error.toast-with-border {
    border-color: #dc3545;
}

4. 验证Django Messages的基础配置(可选)

确保你的Django项目已经启用了messages功能,检查settings.py里的配置:

MIDDLEWARE = [
    # 其他中间件...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    # 其他中间件...
]

INSTALLED_APPS = [
    # 其他APP...
    'django.contrib.messages',
    # 其他APP...
]

这样调整完之后,刷新页面操作触发消息,就能看到带边框的Toaster提示了。

内容的提问来源于stack exchange,提问作者mailto sandeep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:16:12