Sha*_*bie 4 django django-forms
我需要将模板中的字段作为标记吐出的一部分呈现必需和错误属性.我知道这可以通过在自动生成布局时使用form.as_p等来完成.
但是,我对表单有一个复杂的2列布局.是否可以包含required_css_class ='required',它是表单类的一部分,同时为各个字段吐出html?
我需要这样做,因为我想从生成的html驱动jquery验证,而无需额外的工作.
谢谢
在required_css_class似乎是在使用由forms.BoundField.css_classes和 forms.BaseForm._html_output其仅用于as_p,as_table和这样.
它不是常规窗口小部件呈现的一部分.
你可以使用同样的css_classes方法,虽然返回类的元素,所以我觉得最简单的解决办法是包裹<input>与元素,让那类{{ field.css_classes }},并修改您的验证选择.
或者,这是一种将错误类入侵到错误字段的方法:
def __init__(self, *args, **kwargs):
super(form, self).__init__(*args, **kwargs)
for field in self.errors:
if not field == '__all__':
# errors dict can have key __all__ for non field errors.
self.fields[field].widget.attrs['class'] = \
self.fields[field].widget.attrs.get('class', '') + 'error'
Run Code Online (Sandbox Code Playgroud)
要使用required_css_class,您必须使用该BoundField.css_classes方法,这将涉及黑客入侵基础表单__getitem__,__iter__因为BoundField是按需构建的.上述方法更容易.
| 归档时间: |
|
| 查看次数: |
1099 次 |
| 最近记录: |