django:打印表单错误时如何删除项目符号
Posted
技术标签:
【中文标题】django:打印表单错误时如何删除项目符号【英文标题】:django: How to remove bullet point when printing form errors 【发布时间】:2013-09-30 11:20:55 【问题描述】:好的,我有一个表单,然后我想在用户提交表单时打印错误(如果有)。所以在我的模板中,我有代码
% if form.errors %
form.errors
% endif %
现在,问题是,假设用户忘记输入用户名,django 将显示此错误消息。
username
- This field is required.
除了“-”是一个项目符号..如何删除项目符号点并使其与用户名内联?我尝试使用 CSS 并内联显示,但没有奏效。
【问题讨论】:
【参考方案1】:除了 CSS 之外,您还可以迭代错误,例如:
% for field, error in form.errors.items %
% if field != '__all__' % field % endif %
error | striptags
% endfor %
【讨论】:
嗯,在这种情况下,all 是什么?并且剥离标签基本上只是删除变量上的所有其他html和css标签吗? 'all' 包含非字段错误,例如您在 Form.clean() 中提出的错误。 Striptags 删除所有标签,您需要它,因为 error 默认情况下带有一些包装。 注意这个方法会去掉all标签,这意味着错误<ul class="errorlist"><li>The two password fields didn’t match.</li></ul>
转到纯文本The two password fields didn’t match
,所以不再有HTML元素可以附加造型到。如果要保持样式,则必须在模板中添加自己的 HTML 包装器,例如 <p class="errorlist"> error | striptags </p>
【参考方案2】:
这不是一个真正的 django 问题,它是 css。但无论如何,你需要将list-style: none
应用到错误列表中,即。
.errorlist
list-style: none;
【讨论】:
嗯,它似乎不起作用,但我会竖起大拇指,因为我认为它应该起作用,唯一的原因是它没有起作用,因为我的其他地方有问题虽然代码。 @I S 的回答也很好。以上是关于django:打印表单错误时如何删除项目符号的主要内容,如果未能解决你的问题,请参考以下文章
如何让来自 Ajax 的 Django 表单错误出现在用户屏幕上?