我一直在以脆弱的形式运行,它似乎完全符合我的要求:使用引导程序布局渲染表单.
现在,这个例子谈论使用forms.Form.这没关系,我可以通过编写如下代码来创建我的:
class TemplateCreateForm(forms.Form):
title = forms.CharField(label=(u'Task name'))
description = forms.CharField(label=(u'Task description'))
url_start = forms.CharField(label=(u'Start page url'))
url_end = forms.CharField(label=(u'Final page url'))
def __init__(self, *args, **kwargs):
self.helper = FormHelper()
self.helper.form_method = 'post'
self.helper.add_input(Submit('submit', 'Submit'))
super(TemplateCreateForm, self).__init__(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
但是,如何进行更新?因为如果我把它放在视图中:
form = TemplateCreateForm(request.POST or None, instance=template)
Run Code Online (Sandbox Code Playgroud)
它不起作用,因为实例仅适用于ModelForm.
现在,我可以用forms.Formwith 替换ModelForm并使用Crispy形式的ModelForm吗?我这样做了
class TemplateCreateForm(ModelForm):
title = forms.CharField(label=(u'Task name'))
description = forms.CharField(label=(u'Task description'))
url_start = forms.CharField(label=(u'Start page url'))
url_end = forms.CharField(label=(u'Final page url'))
def __init__(self, *args, **kwargs): …Run Code Online (Sandbox Code Playgroud)