我正在使用Django和django-bootstrap 3开发一个Web应用程序。
我有几种形式可以验证并在出现问题时抛出错误。但是,我不希望django-bootstrap在可允许的红色警告框中显示警报消息。输入字段下面的错误消息就足够了。
我如何实现这一目标?
密码更改表单示例:
<form class="allign-bottom" method="post" enctype="multipart/form-data">
{% csrf_token %}
{% bootstrap_form form %}
{% buttons %}
<button type="submit" class="btn btn-primary">
{% bootstrap_icon "glyphicon glyphicon-refresh" %} Update password
</button>
{% endbuttons %}
</form>
图片示例:
答案 0 :(得分:0)
为了不在顶部显示不允许的警告框,您应该删除
{% bootstrap_messages %}
模板标记,放在HTML文件的某个位置。
此标记负责显示任何潜在错误(实际上它只是Django messages,使用Bootstrap样式格式化。)
根据{% bootstrap_messages %}
的来源,此模板标记呈现messages.html
,它会迭代消息并呈现它们(将每个消息包装在<div>
元素内)。
答案 1 :(得分:0)
对我来说也是这样,所以我去了代码,这似乎是默认行为,至少在最新版本的dango-bootstrap3
这是一个已知问题,似乎将在下一版本中修复,这里有一个未解决的问题和已经开发的提交: https://github.com/dyve/django-bootstrap3/issues/380
如果你现在需要这个,在下一个版本的软件包发布之前,你可以去bootstrap3 / renderers.py和arround第227行(版本8.2.3),你可以改变这个:
return self.render_errors() + self.render_fields()
by:
return self.render_errors(type='non_fields') + self.render_fields()
手动更改软件包代码不是一个好习惯,但如果您现在需要这样做,那么它是一个时间解决方案,直到它发布的软件包的新版本。 这应该可以解决你的问题。
希望这有帮助!