gpt4 book ai didi

Django:如何检查自定义窗口小部件定义中是否存在字段错误?

转载 作者:行者123 更新时间:2023-12-04 10:21:48 25 4
gpt4 key购买 nike

我想创建在相关字段有错误时将特定类添加到元素标记的小部件。

我很难在小部件定义代码中找到有关如何检查字段是否与之相关联的错误的信息。

目前,我有以下 stub 小部件代码(最终的小部件将使用更复杂的标记)。

from django import forms
from django.utils.safestring import mark_safe
class CustomTextWidget(forms.Widget):
def render(self, name, value, attrs):
field_has_errors=False # change to dynamically reflect field errors, somehow
if field_has_errors:
error_class_string="error"
else:
error_class_string=""
return mark_safe(
"<input type=\"text\" class=\"%s\" value=\"%s\" id=\"id_%s\" name=\"%s\">" % (error_class_string, value, name, name)
)

任何人都可以通过明智的方法在此处填充field_has_errors bool 值吗? (或者建议一种更好的方法来完成我正在尝试做的事情)。提前致谢。

最佳答案

正如Jason所说,小部件无法访问该字段本身。我认为,更好的解决方案是使用CSS的级联性质。

{% for field in form %}
<div class="field{% if field.errors %} field_error{% endif %}">
{{ field }}
</div>
{% endfor %}

现在,您可以在CSS中执行以下操作:
div.field_error input { color: red }

或您需要的任何东西。

关于Django:如何检查自定义窗口小部件定义中是否存在字段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3213652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com