मैं क्रिस्पी-फॉर्म और बूटस्ट्रैप को अपनाने की कोशिश कर रहा हूं और कुछ बार बार-बार आविष्कार करने की बजाय अपनी कार्यक्षमता जितनी संभव हो उतनी उपयोग कर रहा हूं।django crispy-form इनलाइन फॉर्म
क्या डिज़ागो-एडमिन फॉर्मों जैसे क्रिस्पी-फॉर्म/बूटस्ट्रैप के साथ इनलाइन फॉर्म कार्यक्षमता रखने का कोई तरीका है?
कैसे मैं एक रूप है कि मूल रूप से इस मॉडल का प्रतिनिधित्व करता है जोड़ने के बारे में जाना है::
class Link(models.Model):
name = models.CharField(max_length=255, blank=False, null=False, verbose_name=_(u'Название'))
url = models.URLField(blank=False, null=False, verbose_name=_(u'Ссылка'))
project = models.ForeignKey('Project')
class NewProjectForm(forms.Form):
name = forms.CharField(required=True, label=_(u'Название проекта'), widget=forms.TextInput(attrs={'class':'input-block-level'}))
group = forms.ModelChoiceField(required=False, queryset=Group.objects.all(), label=_(u'Группа проектов'), widget=forms.Select(attrs={'class':'input-block-level'}))
description = forms.CharField(required=False, label=_(u'Описание проекта'), widget=forms.Textarea(attrs={'class':'input-block-level'}))
class Meta:
model = Project
fields = ('name','description','group')
def __init__(self, *args, **kwargs):
self.helper = FormHelper()
self.helper.form_class = 'horizontal-form'
self.helper.form_action = 'submit_new_project'
self.helper.layout = Layout(
Field('name', css_class='input-block-level'),
Field('group', css_class='input-block-level'),
Field('description',css_class='input-block-level'),
)
self.helper.add_input(Submit('submit',_(u'Создать проект')))
self.helper.add_input(Submit('cancel',_(u'Я передумал')))
super(NewProjectForm, self).__init__(*args, **kwargs)
यह एक सभ्य रूप को प्रदर्शित करेगा:
यहाँ एक उदाहरण है
तो एक परियोजना और नाम/यूआरएल लिंक और विज्ञापन के लिए एक तरीका होगा डी कई, जैसे ही django-admin में किया जाता है, जहां आप अपने मुख्य मॉडल से संबंधित डेटा के साथ अतिरिक्त 'पंक्तियां' जोड़ सकते हैं। नीचे दिए गए स्रीनशॉट पर आप 'प्रश्न' ऑब्जेक्ट के लिए डेटा भरने में सक्षम हैं और नीचे आप प्रश्नावली ऑब्जेक्ट्स के लिए डेटा जोड़ सकते हैं- आप जितना चाहें उतने प्रश्नपत्र जोड़ने के लिए '+' आइकन पर क्लिक करने में सक्षम हैं।
मैं मॉडलों से स्वत: जेनरेट किए गए फॉर्म प्राप्त करने का कोई तरीका नहीं ढूंढ रहा हूं (यह अच्छा है लेकिन सबसे महत्वपूर्ण नहीं है) - क्या ऐसा फॉर्म बनाने का एक तरीका है जो आपको डेटा की 'पंक्ति' जोड़ने देगा django-admin करता है?
यह प्रश्न गतिशील 'अधिक जोड़ें' बटनों के बारे में अधिक जानकारी में जाता है: http://stackoverflow.com/questions/501719/dynamically-adding-a-form-to-a-django-formset-with-ajax – publysher