Как сделать кнопку в форме пирамиды - PullRequest
0 голосов
/ 01 апреля 2020

Я работаю с пирамидой, чтобы создать веб-страницу.

В соответствии с примером в документации (прилагается), я могу передать схему формы в шаблон html, выбрать каждое поле в форме и затем отобразить отдельно. Это облегчает мне стилизацию полей формы.

Однако в примере не показано, как визуализировать компоненты кнопок.

В прикрепленном примере, если у меня есть кнопка отправки,

$ form = deform.Form (схема, кнопки = ('submit',))

Как бы Я отображаю только кнопку в html, без повторного рендеринга полей?

enter image description here

ОБНОВЛЕНИЕ:

Вот так у меня получилось использовать пользовательскую кнопку отправки.

<div class="form-group text-center" tal:define="submit form.buttons[0]">
   <button name="submit" type="submit" value="submit" class="btn btn-primary btn-lg btn-block">${submit.title}</button>
</div>

Ответы [ 2 ]

1 голос
/ 12 апреля 2020

Вы отображаете атрибуты в элементе кнопки HTML.

<button value="{{ form.buttons[0].value|safe }}" name="{{ form.buttons[0].name|safe }}" class="{{ form.buttons[0].css_class|safe }}" type="{{ form.buttons[0].type|safe }}">{{ form.buttons[0].title|safe }}</button>

Это, например, будет отображать первую кнопку в вашей форме, как объявлено в схеме формы.

1 голос
/ 10 апреля 2020

Кнопки доступны через список form.buttons.

Так отображаются кнопки в шаблоне формы по умолчанию (form.render())

<div class="form-group deform-form-buttons">
    <tal:loop tal:repeat="button form.buttons">
        <button
                tal:define="btn_disposition repeat.button.start and 'btn-primary' or 'btn-default';"
                tal:attributes="disabled button.disabled if button.disabled else None;
                                attributes|button.attributes|{};"
                id="${formid+button.name}"
                name="${button.name}"
                type="${button.type}"
                class="btn ${button.css_class or btn_disposition}"
                value="${button.value}"
                tal:condition="button.type != 'link'">
            <span tal:condition="button.icon" class="glyphicon glyphicon-${button.icon}"></span>
            ${button.title}
        </button>
        <a
                tal:define="btn_disposition repeat.button.start and 'btn-primary' or 'btn-default';
                btn_href button.value|''"
                class="btn ${button.css_class or btn_disposition}"
                id="${field.formid + button.name}"
                href="${btn_href}"
                tal:condition="button.type == 'link'">
            <span tal:condition="button.icon" class="glyphicon glyphicon-${button.icon}"></span>
            ${button.title}
        </a>
    </tal:loop>
</div>
...