ToscaWidgets - настроить форму

Я использую https://pypi.python.org/pypi/tgapp-resetpassword/0.1.5 который позволяет вам переопределить шаблон, используемый для страницы сброса пароля. К сожалению, сама форма включена в "черный ящик":

<div>
    ${reset_password_form.display(action=action)}
</div>

Форма была определена как tw2.forms.TableForm это не то, что я хотел бы показать. Можно ли иметь более точный контроль зерна, например, вставлять пользовательский HTML-код вокруг каждого из полей или быть более четким о том, как отображать определенные поля?

Например, я хотел бы сделать что-то вроде следующего (составленного):

<div>
    <form ${reset_password_form.attrs} class="my-own-class-name">
      <py:for each="field in reset_password_form.fields">
         <div class="custom-class-here">
            <label for="${field.id}"> 
                ... some logic to possibly override default label else...
                ${field.default_label_text}
            </label>
            ${field.render_as_input_field()}
         </div>
      </py:for>
      <button type="submit">My own submit text</button>
    <form>
 </div>

Возможен ли этот уровень настройки с помощью ToscaWidgets без переопределения вещей в Python?

1 ответ

Решение

Как по документации возврата пароля у вас есть reset_password.reset_password_form опция, которую можно использовать для указания альтернативной формы tw2.

Вам просто нужно поместить туда путь Python (как "resetpassword.lib.forms.ResetPasswordForm") формы, которую вы хотели бы использовать вместо формы по умолчанию.

Затем в вашей собственной форме можно указать собственный шаблон, например https://gist.github.com/amol-/d2a08027d34a8c4dfa69

Другие вопросы по тегам