나는 crispy-forms와 bootstrap을 채택하려고 노력하고 있으며, 반복해서 무언가를 발명하는 대신 가능한 한 많은 기능을 사용하려고합니다.django crispy-forms inline forms
django-admin 양식처럼 바삭한 양식/부트 스트랩으로 인라인 양식 기능을 사용할 수 있습니까?
나는 기본적으로이 모델을 표현하는 형태로 추가 가야합니까 방법 :
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)
이 괜찮은 양식을 표시합니다 여기
은 예입니다프로젝트 및 이름/URL 링크 및 광고 방법이 있습니다. 많은 django-admin에서 똑같은 일이 당신의 주 모델과 관련된 데이터로 여분의 '행'을 추가 할 수 있습니다. 아래의 스크린 샷에서 'Question'객체의 데이터를 채울 수 있으며 아래에서는 QuestionOption 객체에 대한 데이터를 추가 할 수 있습니다. '+'아이콘을 클릭하여 원하는만큼 QuestionOptions를 추가 할 수 있습니다.
모델에서 자동 생성 된 양식을 얻는 방법을 찾고 있지 않습니다. (가장 좋지만 좋지는 않지만) - '데이터'행을 추가 할 수있는 양식을 만드는 방법이 있습니까? django-admin 않습니다?
이 질문은 동적 인 '추가'버튼에 대해 자세히 설명합니다. http://stackoverflow.com/questions/501719/dynamically-adding-a-form-to-a-django-formset-with-ajax – publysher