目标:我的表单向导Form
中的第一个WizardView
会传递一个初始值,该值将更改生成的HTML中显示的字段。
我可以在jQuery的帮助下修改输出(可能通过自定义模板)来隐藏某些字段吗?
答案 0 :(得分:2)
您可以通过在表单'Media'内部类
中包含javascript文件来使用javascript更改表单class MyForm(form.ModelForm):
...
class Media:
# Paths relative to STATIC_URL
js = ("js/file.js", "js/file2.js",)
但是,在我看来,这可能有点hacky
或者,要更改特定字段的HTML,您应该为要编辑的特定字段创建自己的窗口小部件:
https://docs.djangoproject.com/en/dev/ref/forms/widgets/
最后,如果您需要动态添加或删除字段,我认为您可以采用的最佳方式是 init 功能:
class MyForm(form.ModelForm):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
if self.fields['example_field_name'].initial == "some_value":
# do something ...