1
我有一个很大的django窗体。它有很多数据取决于选择的字段。Django窗体选择变化
例如:
你有车吗? YES/NO下拉框。
如果是的话,我想说明的其他字段品牌/型号/年/立方厘米等等等等
如果没有,我想保持它们隐藏起来。
这是什么最好的方法?一个简单的显示/隐藏div使用jquery或有更好的,我应该做的?
我有一个很大的django窗体。它有很多数据取决于选择的字段。Django窗体选择变化
例如:
你有车吗? YES/NO下拉框。
如果是的话,我想说明的其他字段品牌/型号/年/立方厘米等等等等
如果没有,我想保持它们隐藏起来。
这是什么最好的方法?一个简单的显示/隐藏div使用jquery或有更好的,我应该做的?
是的,你应该在客户端使用JQuery的简单显示/隐藏。 然后在服务器端,如果您还希望仅在选择了其他内容的情况下使某些字段需要,则需要在表单的clean
方法中进行条件验证。
例如:
class MyForm(Form):
...
def clean(self):
cleaned_data = self.cleaned_data
has_car_required_fields = ['foo', 'bar', 'baz']
if cleaned_data.has_key('has_car') and cleaned_data['has_car']:
for field_name in has_car_required_fields:
if not cleaned_data.has_key(field_name) or not cleaned_data[field_name]:
self._errors[field_name] = ErrorList([_(u'This field is required')])
return cleaned_data
你是多数民众赞成在我打算做什么。看起来我正沿着正确的方向思考(换一种方式)欢呼! – Mark
我这样做与jQuery。 – Marcin