के साथ क्रिस्पी फॉर्म का उपयोग करें मैं crispy form में चला रहा हूं, और ऐसा लगता है कि मैं वही करता हूं जो बूटस्ट्रैप लेआउट के साथ फ़ॉर्म प्रस्तुत करता है।मॉडलफॉर्म
अब, 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)
लेकिन, अद्यतन कैसे करें? क्योंकि अगर मैं ध्यान में रखते हुए इस डाल:
form = TemplateCreateForm(request.POST or None, instance=template)
यह क्योंकि उदाहरण केवल ModelForm के लिए काम नहीं करता है।
अब, मैं ModelForm
साथ model.Form
स्थानापन्न और 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):
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')
यहां मैंने मेटा क्लास जोड़ा। अब: यह काम करता है, लेकिन क्या इसका उपयोग करना सही है? अद्यतन इस तरह से काम करता है।
अद्यतन करने के लिए फॉर्म का उपयोग करने का सही तरीका क्या है?
क्या मैं ModelForm के साथ उपयोग करने के लिए है क्या ज़रूरत है? – EsseTi
मैंने जवाब संपादित किया है। – maraujop
@maraujop: कृपया इस प्रश्न पर एक नज़र डालें: http://stackoverflow.com/questions/16581057/formhelper-object-has-no-attribute-append-while-using-crispy-forms-in-django यह समस्या तब आई जब मैं यहाँ क्या कह रहा था। –