Найти - Пользователи
Полная версия: crispy_forms и ModelForm - задать свой порядок формы
Начало » Django » crispy_forms и ModelForm - задать свой порядок формы
1
VadimK
Никак для существующем модели не могу задать порядок полей формы. Если форма делается с нуля как forms.Form , то все работает. А вот с forms.ModelForm вообще ничего происходит, т.е. просто выводятся все поля по порядку и без кнопки сохранения.

class ExampleForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        self.helper = FormHelper()
        self.helper.layout = Layout(
            Fieldset(
                _(u'Основная информация'),
                'title',
                'file',
                'type',
                'content',
            ),
            Fieldset(
                _(u'Дополнительные настройки'),
                'description',
                'password',
                'hidden',
            ),
            ButtonHolder(
                Submit('save', _(u'Сохранить'))
            )
        )
        super(ExampleForm, self).__init__(*args, **kwargs)
    class Meta:
        model = Share
        exclude = ['user', 'time_created', 'time_updated']

Может есть у кого примеры использования crispy_forms + ModelForm со своим лайоутом ?
django-crispy-forms (1.5.2) , Django (1.8.6)
botinag
Покажите view и шаблон.
VadimK
Там вообще все просто:

views.py
    form = ExampleForm()
    return render(request, 'form.html', {'form': form})

form.html
{% load crispy_forms_tags %}
<form action="" method="post" id="x_12" accept-charset="utf-8" enctype="multipart/form-data">
    {% csrf_token %}
    <div class="row">
        <div class="col-md-12">
            {{ form|crispy }}
        </div>
    </div>
</form>
botinag
Попробуйте в шаблоне
{{ form|crispy }}
заменить на
{% crispy form %}
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB