如何在 Django 中使用 toastr 获取成功或失败消息

Posted

技术标签:

【中文标题】如何在 Django 中使用 toastr 获取成功或失败消息【英文标题】:How to use toastr in Django for success or fail message 【发布时间】:2017-12-13 17:27:37 【问题描述】:

我一直在使用 Django 消息框架在我的应用程序中显示成功或失败消息。但我希望 UI 很好,所以我发现 toastr 是向用户显示消息的好方法。但我不确定如何使用它。请指导我完成此操作。

下面的函数将用户保存到数据库中,当保存用户信息时会显示一条消息:

def addSubscriber(request):
    template = 'addSubscriber.html'

    if request.method == 'POST':
        form = addSubsForm(request.POST)
        if form.is_valid():
            f = form.save(commit=False)
            f.save()
            messages.success(request, "The Subscriber has been successfully added")
            return redirect('report')

        else:
            messages.error(request, "Sorry the data has not been entered to the database")

    else:
        form = addSubsForm()

    return render(request, template, 'form': form)

以下模板展示了消息的显示:

  % if messages %
            <ul class="messages">
                % for message in messages %
                <li% if message.tags % class=" message.tags "% endif %> message </li>
                % endfor %
            </ul>
        % endif %

【问题讨论】:

【参考方案1】:

感谢这个问题,我能够用 python 实现toastr,这是 Neeraj Kumar 给出的更完整的答案。

就我而言,它比具体化要好得多,因为那个 CSS 工具包会破坏我自己的 CSS 代码,而我没有时间进行 CSS 调试。

首先,在你的模板中,你必须设置JS文件,例如:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<link rel="stylesheet" type="text/css" href="% static 'css/toastr.css' %" media="all">
<script type="text/javascript" src="% static 'js/toastr.min.js' %"></script>  

接下来,在正文中,您可以放置​​ Toast 消息的选项(这些选项可以轻松创建 in the Toastr demo page.

最后,插入此代码块,如果您使用的是来自 django 的消息框架的标准标签:

    % if messages %
        % for message in messages %
            % if message.tags == 'success'%
                <script type=text/javascript>toastr. message.tags (' message ')</script>
            % elif message.tags == 'info' %
                <script type=text/javascript>toastr. message.tags (' message ')</script>
            % elif message.tags == 'warning' %
                <script type=text/javascript>toastr. message.tags (' message ')</script>
            % elif message.tags == 'error' %
                <script type=text/javascript>toastr. message.tags (' message ')</script>
            % endif %
        % endfor %
    % endif %

我希望这对其他人有帮助并节省时间。

【讨论】:

【参考方案2】:

在 html 代码中添加 toastr js 和 css 然后编写下面的代码来显示 toastr 消息

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

【讨论】:

不起作用。我没有看到任何toastr 消息。而只是我在message 变量中发送的纯错误文本 @sphoenix 检查您的浏览器控制台。我认为您会在控制台中看到一个错误,这有助于理解这一点 @sphoenix 提供的代码有错误,我已修复

以上是关于如何在 Django 中使用 toastr 获取成功或失败消息的主要内容,如果未能解决你的问题,请参考以下文章

如何让 toastr 在 Typescript 中工作

如何在 toastr 中显示多行消息?

如何在 toastr 中显示确认对话框

如何将 ID 分配给 toastr.js 通知并根据需要进行更新

toastr.js 如何在 Aurelia 和 Typescript 中工作?

toastr的问题,越点越多