我一直在使用Django消息框架来显示我的应用程序中的成功或失败消息。但我希望用户界面很好,所以我发现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 %}
答案 0 :(得分:3)
感谢这个问题,我能够使用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 %}
我希望这对其他人有帮助并节省时间。
答案 1 :(得分:1)
在html代码中添加toastr js和css然后在下面写下代码以显示toastr消息
{% for message in messages %}
toastr.{{ message.tags }}({{ message }});
{% endfor %}
答案 2 :(得分:0)
很好的方法,只是忘了在消息周围加上引号“”