Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » crispy_forms и ModelForm - задать свой порядок формы [RSS Feed]

#1 Ноя. 23, 2015 13:17:32

VadimK
Зарегистрирован: 2013-07-03
Сообщения: 199
Репутация: +  16  -
Профиль   Отправить e-mail  

crispy_forms и ModelForm - задать свой порядок формы

Никак для существующем модели не могу задать порядок полей формы. Если форма делается с нуля как 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)

Отредактировано VadimK (Ноя. 23, 2015 13:18:56)

Офлайн

#2 Ноя. 23, 2015 14:00:30

botinag
Зарегистрирован: 2014-02-20
Сообщения: 179
Репутация: +  35  -
Профиль   Отправить e-mail  

crispy_forms и ModelForm - задать свой порядок формы

Покажите view и шаблон.

Офлайн

#3 Ноя. 23, 2015 14:40:22

VadimK
Зарегистрирован: 2013-07-03
Сообщения: 199
Репутация: +  16  -
Профиль   Отправить e-mail  

crispy_forms и ModelForm - задать свой порядок формы

Там вообще все просто:

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>

Офлайн

#4 Ноя. 23, 2015 15:20:31

botinag
Зарегистрирован: 2014-02-20
Сообщения: 179
Репутация: +  35  -
Профиль   Отправить e-mail  

crispy_forms и ModelForm - задать свой порядок формы

Попробуйте в шаблоне

{{ form|crispy }}
заменить на
{% crispy form %}

Офлайн

  • Начало
  • » Django
  • » crispy_forms и ModelForm - задать свой порядок формы[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version