Django 引导警报未按预期工作
Posted
技术标签:
【中文标题】Django 引导警报未按预期工作【英文标题】:Django bootstrap alerts not working as expected 【发布时间】:2017-05-13 03:40:43 【问题描述】:我需要这方面的帮助。
我正在尝试使用引导警报使我的应用看起来更好,我有一个警报用于添加项目,而另一个警报用于删除项目。
当我添加一个项目时,我的警报看起来很棒并且工作正常,但是当我删除该项目时它不能正常工作..只显示我的消息,没有引导警报....
我做错了什么?
这是我得到的:
<div class="container">
% if messages %
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
% for message in messages %
<p% if message.tags == "success" % class="alert alert-success "% endif %> message </p>
% if message == 'danger' %
<p% if message.tags == 'danger' % class="alert alert-danger"% endif %> message </p>
% endif %
% endfor %
</div>
</div>
% endif %
对我的成功消息的看法 messages.success(request, '已添加!')
查看我的危险信息 messages.error(request, '已被删除!')
提前致谢..!
编辑
当 Silvio 回答我的问题时,我解决了我的问题。每次引导警报都很好用,但 alert-danger
让它工作我不得不将我的 settings.py
编辑成这样的东西:
from django.contrib.messages import constants as message_constants
MESSAGE_TAGS = message_constants.DEBUG: 'debug',
message_constants.INFO: 'info',
message_constants.SUCCESS: 'success',
message_constants.WARNING: 'warning',
message_constants.ERROR: 'danger',
【问题讨论】:
【参考方案1】:作为对作者问题的更新,只有被覆盖的标签需要在设置中列出: https://docs.djangoproject.com/en/3.2/ref/contrib/messages/#message-tags
在这种情况下(引导程序寻找“危险”,但 Django 提供“错误”):
from django.contrib.messages import constants as messages
MESSAGE_TAGS =
messages.ERROR: 'danger',
【讨论】:
【参考方案2】:我猜你在 Bootstrap 中使用了错误的 html 标记:
% if messages %
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
% for message in messages %
<div class="alert alert- message.tags " role="alert">
<p> message </p>
</div>
% endfor %
</div>
</div>
% endif %
请注意,您使用的是<p>
标签而不是<div>
。也可以直接使用 message.tags
。
【讨论】:
以上是关于Django 引导警报未按预期工作的主要内容,如果未能解决你的问题,请参考以下文章