如何在 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 获取成功或失败消息的主要内容,如果未能解决你的问题,请参考以下文章
如何将 ID 分配给 toastr.js 通知并根据需要进行更新