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:打印表单错误时如何删除项目符号的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Django 表单中删除必需的属性

在 django 中将 css 类添加到验证错误的字段

如何让来自 Ajax 的 Django 表单错误出现在用户屏幕上?

使用ajax将它们作为json后如何循环遍历django表单错误

Django第七天(项目注册,登陆,删,查)

如何在 Django 生成的表单中删除标签文本?