Ich habe in crispy form läuft, und es scheint genau das zu tun, was ich will: Render-Formulare mit Bootstrap-Layout.Verwenden Sie knusprige Form mit ModelForm
Jetzt das Beispiel über die Verwendung von forms.Form
sprechen.
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)
Aber, wie Sie das Update tun: Das ist in Ordnung, kann ich meine durch Schreiben der Code wie folgt erstellen? denn wenn ich habe dies in der Ansicht:
form = TemplateCreateForm(request.POST or None, instance=template)
es funktioniert nicht, weil Instanz nur für Modelform ist.
Jetzt kann ich die model.Form
durch ModelForm
ersetzen und knusprige Formular für ModelForm verwenden? Ich habe diese
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):
self.helper = FormHelper()
self.helper.form_method = 'post'
self.helper.add_input(Submit('submit', 'Submit'))
super(TemplateCreateForm, self).__init__(*args, **kwargs)
class Meta:
model = Template
exclude = ('user')
Hier habe ich die Meta-Klasse hinzugefügt. Jetzt: es funktioniert, aber ist es richtig, es so zu benutzen? Das Update funktioniert auch auf diese Weise.
Was ist der richtige Weg, Formulare für das Update zu verwenden?
Was mache ich es zu tun habe mit Modelform zu benutzen? – EsseTi
Ich habe die Antwort bearbeitet. – maraujop
@maraujop: Bitte werfen Sie einen Blick auf diese Frage: http://stackoverflow.com/questions/16581057/formhelper-object-has-no-attribute-append-while-using-crispy-forms-in-django Dies Problem kam, als ich tat, was hier gesagt wurde. –